Access Breve introduzione
Componenti E’ possibile utilizzare Access per gestire tutte le informazioni in un unico file. In un file di database di Access è possibile utilizzare: 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 ( 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 di creazione Query di eliminazione Query di aggiornamento Query di 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 Tabelle coinvolte nella query Griglia QBE
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 Parametro di nome Stato Quando la query viene eseguita, viene richiesta l’immissione del valore del parametro
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. si definisce una query di selezione 2. ci si accerta che sia corretta 3. si trasforma la query di selezione in una query di comando (Menu Query)
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 comando (2)
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 [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 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) Riga Accoda a:
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 “chiudi maschera” Pulsante “elimina record” 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