Access Breve introduzione Componenti E’ possibile utilizzare Access per gestire tutte le In un file di database di Access è possibile utilizzare: informazioni in un unico file. •Tabelle per l’archiviazione dei dati •Query per la ricerca e il recupero dei soli dati desiderati •Maschere per la visualizzazione, l‘aggiunta e l’aggiornamento dei dati delle tabelle •Report per l’analisi o la stampa dei dati in un layout specifico Finestra database Componenti Struttura tabella Proprietà di un attributo Tipo dati (dominio) Testo ( 255 caratteri) Memo ( 64000 caratteri) Numerico Data/ora Valuta Contatore SI/NO Oggetto OLE, link Definizione di un campo Descrizione ( 255 caratteri) Proprietà • • • • • dimensione formato valore predefinito richiesto indicizzato (velocizza recupero valori) Chiave primaria Salva tabella Finestra dati Un’altra tabella Definizione di Relazioni (1) Definizione di Relazioni (2) Il campo della tabella padre è chiave primaria, il campo della tabella figlio non è chiave primaria, allora Access imposta automaticamente una relazione uno-a-molti Tipi di query Query di selezione Non modifica il database Query di comando Query Query Query Query di di di di creazione eliminazione aggiornamento accodamento Le query di comando modificano il database Query di selezione (Interrogazione) La query di selezione (o semplicemente query) è un’operazione che estrae record da una o più tabelle in base a criteri specificati dall’utente e produce un insieme di record detto recordset (dynaset) È possibile utilizzare una query per eseguire calcoli predefiniti o personalizzati sui dati Query by Example Query by Example (interrogare per esempi) è una tecnica di progettazione che permette di definire una query mostrando un esempio di come deve essere fatto il record del recordset Graficamente si mostra • • • Quali campi si vogliono selezionare Quali criteri adottare per selezionare i valori dei campi Quali campi si vuole visualizzare ed in quale ordine Modalità Struttura Griglia QBE Griglia QBE Tabelle coinvolte nella query Esempio: elencare il nome, il paese ed il numero di telefono di ciascun cliente Tasto esegui Recordset Il recordset • è un insieme di record • è aggiornato dinamicamente • si presenta come una tabella • può essere utilizzato in altre query (query di query) Valori univoci (1) Query: elencare i paesi dei clienti Valori ripetuti Valori univoci (2) Query/Proprietà Colonna calcolata (1) Una colonna calcolata non è estratta da alcuna tabella ma è costruita ad-hoc Per definire una colonna calcolata bisogna specificare: Nome della colonna Espressione che produce i valori della colonna Query: determinare l’età di ciascun dipendente Età: Year(Date())- Year([Impiegati]![DataNascita]) Nome Espressione Colonna calcolata (2) Una colonna calcolata può essere utilizzata nei criteri Elencare gli impiegati che hanno un’età compresa tra 40 e 50 anni, estremi compresi Generatore di espressioni Bottone Genera Gruppi e formule È possibile specificare dei criteri con cui i record vengono raggruppati È possibile specificare delle formule che vengono eseguite sui gruppi Esempio Valutare il prezzo medio a cui è stato venduto un prodotto Raggruppare i record che presentano lo stesso valore nella colonna IDProdotto Per ogni gruppo calcolare la media dei valori relativi alla colonna PrezzoUnitario Esempio Il pulsante Formula attiva la riga Formula nella griglia QBE I prodotti sono elencati per IDProdotto Min,Max, Conteggio Di ogni prodotto indicare in quanti ordini è stato venduto e quali sono stati i prezzi minimo, massimo, medio Somma Per ogni prodotto determinare la quantità venduta Espressione Ricavo totale su un prodotto Ricavo Totale: Somma([Dettagli ordini]![Prezzo Unitario]*[Quantità]*(1-[Sconto]) Raggruppamento multiplo Numero di clienti per paese e per città Esempio Trovare i clienti francesi Problema Supponiamo di voler determinare i clienti tedeschi. Allora, è necessaria un’altra query che nel criterio indichi “Germania” invece di “Francia” Ci vuole quindi una query per ogni paese… … Scomodo!! Soluzione Una soluzione è quella di rendere parametrici i valori nei Criteri Il valore da usare nel criterio viene specificato a tempo di esecuzione della query Query con parametri Determinare i clienti la cui nazionalità è indicata come dato in ingresso Quando la query viene eseguita, viene richiesta l’immissione del valore del parametro Parametro di nome Stato Soluzione: query con parameteri In fase di progettazione della query, il nome del parametro viene specificato tra parentesi quadre [Stato] deve essere diverso dai nomi degli attributi il valore del parametro viene immesso al momento dell’esecuzione Una query con parametri può essere sia di selezione sia di comando Uno o più parametri Determinare gli ordini fatti a partire dalla data Inferiore fino alla data Superiore Dominio di un parametro (1) In fase di progettazione di una query è possibile specificare il dominio di un parametro Dominio di un parametro (2) In fase di esecuzione della query, quando viene immesso il valore del parametro, Access verifica la consistenza di tale valore con il dominio del parametro Esempio Query di comando (1) Ogni query di comando è basata su una query di selezione Ad esempio, nella query di aggiornamento, la query di selezione serve per selezionare i record da modificare Operativamente 1. 2. 3. si definisce una query di selezione ci si accerta che sia corretta si trasforma la query di selezione in una query di comando (Menu Query) Query di comando (2) Durante la messa a punto di una query di comando, fare una copia del database o delle tabelle che saranno modificate Nella Finestra Tabelle, selezionare la tabella da modificare copiarla (Modifica/Copia) incollarla (Modifica/Incolla), dando un altro nome alla copia Query di creazione Permette di creare una nuova tabella sulla base di tabelle/recordset esistenti La query di selezione estrae i record da inserire nella nuova tabella Le tabelle/recordset di partenza non sono modificate Realizzare una tabella Rubrica che specifica nome, numero di telefono e fax dei contatti presso ciascun cliente Query di eliminazione Permette di eliminare dei record da una tabella in base a criteri stabiliti dall’utente La query di selezione seleziona i record da eliminare La tabella risulta modificata Eliminare da Rubrica tutti i record relativi a clienti in cui nome termina per ‘A’ Query di aggiornamento Permette di aggiornare (modificare) i record di una tabella permette di modificare il valore di uno o più campi dei record di una tabella La query di selezione seleziona i record da modificare La riga Aggiorna a: nella griglia QBE permette di specificare un’espressione che calcola i nuovi valori per i campi dei record selezionati Incrementare del 20% i costi unitari inferiori a 10.000 [PrezzoUnitario]*1,20 Query di accodamento Permette di aggiungere dei record ad una tabella esistente La query di selezione seleziona i record da aggiungere La riga Accoda a: nella griglia QBE permette di stabilire una corrispondenza tra i campi dei record selezionati e quelli della tabella di destinazione Aggiungere a Rubrica anche i numeri di telefono dei dipendenti … continua Riga Accoda a: I campi corrispondenti devono avere lo stesso dominio • • I campi da accodare possono essere in numero minore di quelli della tabella di destinazione (valore NULL nei campi senza corrispondenza) Maschere Una maschera può essere utilizzata per: visualizzare modificare inserire dati in una tabella (o in più tabelle) …continua Maschera: una finestra progettata e realizzata in modo che i record siano mostrati in modo più “amichevole” (user-friendly) rispetto alla visualizzazione in foglio dati …continua In una tabella vengono visualizzati molti record contemporaneamente e può essere necessario scorrere orizzontalmente In una maschera viene visualizzato un record alla volta e possono essere visualizzati i campi di più tabelle, nonché immagini e altri oggetti In una maschera può essere disponibile un pulsante che consente di stampare un report, aprire altri oggetti, ecc. Visualizzazione tabella (foglio dati) è necessario spostarsi tra i campi come in un foglio elettronico Maschera per la visualizzazione Pulsante “elimina record” Pulsante “chiudi maschera” Sbarra scorrimento record Maschera per l’inserimento di nuovi record Pulsante “annulla record” Pulsante “nuovo record” Maschere Utili anche per motivi di riservatezza In visualizzazione foglio dati, l’utente vede tutti i dati, compresi quelli riservati Creando una maschera, si possono stabilire i campi da visualizzare (p.e. Nome e Cognome) e quelli da escludere (p.e. Stipendio) Report Visualizzare elenchi o riepiloghi di dati che soddisfano particolari condizioni Risultato formattato, pronto per essere stampato su carta Possibilità di raggruppare dati in base a una caratteristica comune Esempio rubrica: i dati sono raggruppati e ordinati per Cognome Macro e Moduli Le Macro servono principalmente per automatizzare operazioni relativamente semplici I Moduli sono in pratica dei programmi che operano sui dati del data base Si possono svolgere compiti di ogni tipo ma è necessaria qualche esperienza di programmazione