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