Access: Query semplici Marco Gribaudo [email protected].

40
Access: Query semplici Marco Gribaudo [email protected]

Transcript of Access: Query semplici Marco Gribaudo [email protected].

Page 1: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Access: Query semplici

Marco [email protected]

Page 2: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Tipi di Query

• Selezione• Cancellazione• Modifica (aggiornamento)• Accodamento• Creazione tabella• Campi incrociati• Query speciali

Page 3: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Le Query in Access

• Le query in Access possono essere espresse tanto graficamente che utilizzando il linguaggio SQL.

• Si creano dall’apposita pagina di creazione query.

• Le risposte vengono visualizzate direttamente sotto forma di tabelle.

Page 4: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Le Query in Access (II)

Page 5: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Le Query in Access (III)• Con il pulsante a sinistra in alto si

possono alternare 3 visualizzazioni diverse:– Struttura: per creare la Query

graficamente.– SQL: per creare la Query utilizzando SQL.– Foglio dati: per visualizzare i risultati della

Query.• Access trasforma automaticamente le

query grafiche in SQL e vice-versa quando si alternano le due modalità di visualizzazione.

Page 6: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Le Query in Access (IV)

• Con il pulsante tipo di Query (situato al centro) si seleziona il tipo di query:– Selezione, cancellazione, accodamento…

• A seconda del tipo di query selezionato cambia la maschera d’immissione sottostante.

• Le Query che devono essere “attivate” (cancellazione, aggiornamento…), vengono eseguite utilizzando il pulsante “!”.

Page 7: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Le Query in Access (V)

• Si possono scegliere le tabelle su cui opera la query:– All’inizio, dall’apposito menu’ di

selezione.– Attraverso il pulsante “+” seguito da

una tabellina.

Page 8: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Le query in Access (VI)

• Così come le tabelle, anche le Query sono contraddistinte da un nome.

• Il nome della Query può essere utilizzato in maschere, report ed altre Query per identificare la tabella generata come risposta all’interrogazione stessa.

Page 9: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Query di Selezione

• Permettono di “filtrare” una o più tabelle.

• Sono capaci di scegliere solamente qualche riga, qualche colonna o qualche combinazione di esse.

• Possono “unire” insieme le informazioni contenute in una o piu’ tabelle.

Page 10: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Selezionare colonne

• L’operazione più semplice che si può fare con le query di selezione è quella di selezionare solamente alcune colonne di una tabella.

• Normalmente la query non visualizza alcun campo. Occorre scegliere quali campi si vuole considerare!

Page 11: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Selezionare colonne (II)

• Per includere una colonna nel risultato di una Query basta trascinarla nello spazio sottostante.

• Il simbolo “*” indica tutti i campi di una tabella: equivale a portare manualmente tutti i campi di una tabella.

Page 12: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Selezionare colonne (III)

• È possibile cambiare l’ordine di visualizzazione dei campi nella tabella risultante, spostando le colonne della parte sottostante.

• Come vedremo, l’ordine dei campi è importante in alcune circostanze!

Page 13: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Cambiare nome ai campi

• Ogni campo nella tabella di risposta, mantiene il nome che aveva nella tabella originale.

• Si può cambiare il nome del campo nella tabella risposta scrivendo:– Nuovonome: nomecampo

Page 14: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Calcolare nuovi campi

• Alcuni campi possono essere calcolati a partire dal valore di altri campi dei record considerati.

• In questo caso è sufficiente inserire nella riga “campo” la formula capace di calcolare il nuovo valore.

• È meglio assegnare un nuovo nome al campo risultante, utilizzando la sintassi vista prima. (nuovonome: espressione).

Page 15: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Calcolare nuovi campi (II)

• I campi del record di partenza utilizzati nella formula, devono essere scritti tra parentesi quadre (comunque Access ci aiuta facendolo lui se ce ne dimentichiamo).

• Es.:– [Peso Loro] : [Peso Netto] + [Tara]

Page 16: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Semplici operazioni sui campi

• Esistono numerose funzionalità per calcolare i valori di nuovi campi.

• Le più semplici sono le 4 operazioni:– + somma– - differenza– * moltiplicazione– / divisione– ( ) le parentesi possono comporre

espressioni

Page 17: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Semplici operazioni (II)

• La somma di due campi di tipo stringa corrisponde alla loro concatenazione.

• Si possono aggiungere parti di testo “fisse” scrivendole tra virgolette.

• Es.:– [Nome] + “ “ + [Cognome]

Page 18: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Selezionare righe

• Spesso non si vogliono visualizzare tutti i record di una tabella, ma solamente quelli che rispettano alcune caratteristiche.

• È possibile specificare delle espressioni che indicano quali record includere nella tabella di risposta.

Page 19: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Selezionare per uguaglianza

• La selezione più comune è quella di considerare solamente i record che hanno un valore specifico in un campo.

• Questo si effettua immettendo il valore cercato nella casella “criteri” corrispondente al campo in questione.

Page 20: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Selezionare tramite confronti

• Si possono cercare valori che siano:– <> diversi– > maggiori, >= maggiori o uguali– < minori, <= minori o uguali

• In questo caso si mette il simbolo sopra indicato, seguito dal valore con cui si intende confrontare il campo:

• Es.:– <> “FISICA”

Page 21: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

L’operatore like

• Quando si cercano delle parole in campi di tipo testo, si può chiedere che questi “assomiglino” a stringhe fornite.

• In questo caso si usano caratteri Jolly, come quelli che si adoperano per i nomi di file nelle operazioni di ricerca su disco.

Page 22: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

L’operatore like (II)

• I caratteri jolly principali sono:– ? Qualunque carattere singolo– * Qualunque sequenza di caratteri– # un numero

• Es.– like “*matematica*”

• Tutti i campi che contengono la parola “Matematica” al loro interno.

Page 23: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Comporre criteri di selezione

• Per effettuare filtri più complessi, i criteri di selezione possono essere composti.

• Si possono comporre per congiunzione o disgiunzione.

• Si possono negare alcuni criteri.

Page 24: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Le caselle “oppure”

• Quando si stanno cercando dei record che abbiano un valore o un altro in un campo, si possono utilizzare le righe “oppure” nella colonna relativa al campo in questione.

• Nelle righe oppure, si indicano le varie alternative.

• Questa è una operazione di disgiunzione, realizzabile anche attraverso l’operatore OR.

Page 25: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

L’operatore AND

• Se si vuole specificare una congiunzione di due condizioni si può utilizzare l’operatore AND.

• Es.:– >= 5 AND <= 10

• Cerca tutti i record il cui valore del campo a cui la condizione è associata, è compreso tra 5 e 10.

Page 26: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

L’operatore NOT

• Si può negare un criterio, utilizzando la parola chiave NOT.

• Es.:– NOT like “*ISTITUZIONI*”

• Tutti i campi che non contengono la parola “istituzioni”.

Page 27: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Espressioni complesse• In alcuni casi si possono cercare record

dove alcuni campi abbiano un valore determinato dal valore di altri campi.

• In questo caso si possono specificare delle formule analogamente a quanto fatto per i campi calcolati:

• Es.:– > [Esami Totali] – 3

• Nella colonna relativa al campo [Esami sostenuti] ricerca tutti gli studenti a cui mancano meno di 3 esami.

Page 28: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Ordinare i risultati• I risultati delle Query vengono

presentati in modo disordinato.• Si può chiedere che i dati vengano

ordinati, selezionando “crescente” o “decrescente” nella riga “Ordinamento”.

• Se vi sono più campi in cui è attivato un ordinamento, la priorità è da sinistra a destra: tutti quelli che hanno uguale i campi più a sinistra vengono ordinati in base ai campi più a destra.

Page 29: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Selezionare i campi in uscita

• Alcuni campi possono servire solamente per effettuarci sopra dei confronti e non è necessario che siano visualizzati nella risposta in uscita.

• La loro visualizzazione può quindi essere soppressa togliendo il segno di spunta dalla casella “mostra”.

Page 30: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Ordinare rispetto ad altri campi

• L’utilizzo di campi nascosti può essere sfruttato per ordinare in modo diverso da quello naturale da sinistra a destra.

• Si può ripetere due volte una medesima colonna. Una la si rende invisibile e la si usa solamente per l’ordinamento, l’altra la si utilizza per la visualizzazione.

Page 31: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Raggruppare i rusltati

• Filtrando alcune colonne, può succedere che molte righe abbiano esattamente gli stessi valori negli stessi campi.

• Possiamo allora voler chiedere di avere un unico rappresentante per riga, ed eventualmente di effettuare alcuni calcoli sui campi diversi che hanno i record che vengono raggruppati.

Page 32: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Raggruppare i ristultati (II)

• Per attivare i raggruppamenti occorre fare click sul simbolo “Totali”

• In questo caso, compare una nuova riga alla maschera di creazione Query, denominata “Formula”.

Page 33: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Un solo rappresentante per tipo

• Selezionando la voce “Raggruppemento” nella colonna Totali, si sceglie di avere un unico rappresentante per ogni record avente uguali tutti i campi visualizzati.

• Può essere adoperato ad esempio per visualizzare l’elenco dei corsi o l’elenco degli studenti a partire da una tabella che contenga un record per ogni studente ed ogni corso che frequenta.

Page 34: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Calcolare i totali• Se invece di raggruppamento si

selezionano altre voci, allora vuole dire che si esegue un calcolo su quel campo.

• Il calcolo è un calcolo effettuato su più record (la loro somma, la loro media…)

• I record coinvolti nel calcolo sono quelli che hanno uguali i campi che possiedono come formula “raggruppamento”

Page 35: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Calcolare i totali (II)

• Se non ci sono campi con formule di raggruppamento, allora il risultato della Query è un unico record, contenente i risultati delle varie formule inserite.

• Se vi sono sia formule che raggruppamenti, le formule vengono applicate sui campi selezionati, appartenenti ai record che hanno uguali i campi “raggruppati”.

Page 36: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Calcolare i totali (III)

• Le formule utilizzabili sono:– Conteggio: conta quanti record

vengono raggruppati– Massimo, Minimo: prendono

rispettivamente i campi di valore massimo e minimo.

– Primo, Ultimo: assumono il valore rispettivamente del primo e dell’ultimo record raggruppati.

Page 37: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Calcolare i totali (IV)

• Le formule utilizzabili sono:– Somma: somma i valori di tutti i

campi raggruppati.– Media: calcola la media aritmetica dei

dati raggruppati.– Var e DevSt: calcolano varianza e

deviazione standard dei dati raggruppati.

Page 38: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Query basate su query• Invece che tabelle, si possono

selezionare altre Query come sorgenti di dati.

• In questo modo si possono effettuare più facilmente domande più complesse.

• Es.:– Calcolare la media pesata dei voti: prima si

calcolano le somme prodotti voti*crediti e dei crediti. Quindi si dividono i due valroi.

Page 39: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Query parametriche

• In molti casi si vuole ripetere in cui cambia solamente i valori che uno o più campi devono assumere.

• In questo caso si può ricorrere all’utilizzo di Query parametriche.

• Si inseriscono alcuni parametri che vengono richiesti di volta in volta all’utente prima di effettuare il calcolo.

Page 40: Access: Query semplici Marco Gribaudo Marcog@di.unito.it.

Aggiungere i parametri

• Ogni campo che viene specificato e non appartiene direttamente al record viene considerato un parametro.

• Per essere più puliti è però possibile specificare l’elenco dei parametri che influenzano la query da un apposito menù:– Query -> Parametri..

• In questo caso si può anche specificare il tipo di dati assegnato ai parametri.