Ultima modifica 7 Febbraio 2021 by Maurizio Matetich

Cosa sono le query

In Access abbiamo le tabelle per archiviare i dati. Le tabelle di solito contengono grandi quantità di dati e non sempre è facile capirne il significato.

Microsoft Access ci mette a disposizione le query. Sono le interrogazioni o domande che noi possiamo fare ai dati per ottenere delle risposte.

Esistono vari tipi di query per soddisfare tutte (o quasi) le nostre esigenze. Fra poco vedremo le query principali.

Vuoi scaricare gratuitamente il database che utilizzero come esempio? per te c’è anche una sorpresa riservata. Scarica il database di esempio.

Apriamo il nostro database e vediamo come creare delle query per interrogare i dati.

Innanzitutto dobbiamo fare clic sul menu “Crea” e poi clic su “Struttura Query”. Comparirà la seguente schermata.

Office online - creazione di una query

 

Dobbiamo scegliere la tabella (o le tabelle) dalle quali estrarre i dati con una query. Nel nostro esempio scegliamo la tabella “dati clienti 2020” e poi facciamo clic su “Aggiungi”.

Office online - creazione di una query di selezione

A questo punto in alto vediamo la tabella con i campi. Dobbiamo scegliere i campi che ci interessano e per fare questo possiamo fare doppio clic sul nome del campo oppure trascinarlo dalla tabella verso la parte bassa dove costruiremo la nostra query inserendo i criteri.

In alto sulla sinistra possiamo vedere i tipi di query che possiamo creare. Vediamoli in dettaglio.

Query per estrarre i dati

E’ la query più semplice e permette di effettuare una interrogazione per estrarre i dati in base alle nostre esigenze. Facciamo clic sul pulsante “Selezione” in alto a sinistra.

Nella riga “Criteri” e in corrispondenza dei vari campi inseriremo le condizioni per estrarre i dati.

Ad esempio voglio estrarre tutti i clienti francesi, con un numero di dipendenti superiore a 300 e li voglio ordinati per fatturato decrescente. In questo caso nella riga “Criteri” scriverò:

 

Office online - query di selezione inserimento criteri

poi facciamo clic su “Visualizza” e otteniamo subito il risultato. Direi … semplicemente fantastico e potente!

Office online - risultato query di selezione

Salviamo la query con un nome significativo. Ad esempio la chiameremo “EstraiClientiFrancesi”. Ti consiglio di non utilizzare gli spazi nel nome della query ma scrivere le parole tutte consecutive con l’iniziale maiuscola. In questo modo avrai meno problemi quando utilizzerai il linguaggio VBA.

Apro una parentesi. Come avrai notato, la tabella “dati clienti 2020” non rispetta quello che ti ho appena detto. Hai ragione: ho importato la tabella da Excel e quindi è rimasto il nome che aveva il foglio. Avrei dovuto cambiare il nome della tabella in “DatiClienti2020” 🙂

Torniamo a noi. La query è collegata con la tabella e quindi se aggiungiamo o modifichiamo i dati della tabella, la query ti fornirà i dati aggiornati.

Query per creare una tabella

Alle volte abbiamo la necessità di estrarre i dati ed utilizzarli in modo separato. In questo caso possiamo utilizzare la query di creazione tabella.

Dopo aver inserito i criteri che ci interessano, facciamo clic su “Creazione tabella”. Inseriamo il nome della tabella da creare e facciamo clic su OK. Notiamo che anche il nome della tabella contiene le parole consecutive.

 

Office online - query di creazione tabella

A questo punto facciamo clic su “Esegui” (il punto esclamativo rosso in alto a sinistra). Comparirà un messaggio di avviso che dirà “Numero di righe che verranno incollate in una nuova tabella XY”. Facciamo clic su “Si” e otterremo la nostra nuova tabella.

Ti sfugge qualcosa? non ti preoccupare ci vuole un po’ di pratica per capire bene come funziona. Se vuoi accelerare i tempi ti consiglio il mio corso online di Access base.

Query di accodamento

La query di accodamento permette di aggiungere (accodare) dei record ad una tabella esistente. Consideriamo sempre il nostro esempio. Dopo aver creato la tabella ClientiFrancesi, vogliamo aggiungere anche i clienti francesi che hanno un numero di impiegati compreso tra zero e trenta.

La query di accodamento fa al caso nostro. Creiamo una nuova query scegliendo la tabella “dati clienti 2020”, scegliamo i campi che ci interessano e poi facciamo clic sul pulsante “Accodamento”. Scegliamo la tabella “ClientiFrancesi” e inseriamo i criteri che ci interessano.

In pratica con questa nuova query estraiamo i clienti francesi con impiegati compresi tra 0 e 30 e questi record li aggiungiamo alla tabella ClientiFrancesi.

 

Office online - query di accodamento

Ricordiamo di eseguire sempre la query per ottenere il risultato che vogliamo.

Apro un’altra parentesi. Dobbiamo stare attenti ad eseguire la query di accodamento una volta sola altrimenti, se la eseguiamo più volte, ci troveremo dei record duplicati.

Non vogliamo complicarci la vita per ora. Stiamo attenti e in un altro articolo vedremo come evitare questo problema.

Query di aggiornamento

Questa query è molto utile per aggiornare i dati in modo molto veloce ed automatico. Ad esempio se nella nostra tabella ClientiFrancesi vogliamo modificare il settore “books” in “libri”, la query di aggiornamento svolgerà egregiamente questa operazione.

Creiamo una nuova query e poi facciamo clic su “Aggiornamento” e inseriamo come criterio “books” e come “Aggiorna a” scriviamo la parola “libri”. Cosa succederà?

In pratica la query cercherà tutti i record che hanno la stringa “books” nel campo “Settore” e la sostituirà con la nuova stringa “libri”.

 

Office online - query di aggiornamento

 

Abbiamo fatto una veloce traduzione! (ricordiamoci di fare sempre clic su “Esegui”)

Query di eliminazione

In alcuni casi abbiamo la necessità di cancellare i record che corrispondono a determinati criteri e anche in questo caso c’è una query che ci aiuta. E’ la query di cancellazione (o eliminazione).

Ad esempio dalla tabella ClientiFrancesi vogliamo cancellare tutti i record che hanno il settore “baby” e non hanno il sito e-commerce. Ecco che la query di cancellazione soddisfa velocemente questa necessità.

Ecco come fare.

Office online - query di eliminazione

 

In pratica, dopo aver creato come al solito una query, facciamo clic su “Eliminazione” e inseriamo i criteri che ci interessano.

Quando facciamo clic su “Esegui” comparirà un avviso che chiederà la conferma per la cancellazione. Se confermiamo, dalla tabella ClientiFrancesi verranno cancellati tutti i record del settore Baby che non hanno un sito e-commerce.

Attenzione: in questo caso non si può tornare indietro. Quindi quando si cancellano i record, questi sono persi per sempre. Ecco che il backup risulta fondamentale.

Conclusioni

Dopo questa lunga “passeggiata” tra i vari tipi di query, abbiamo capito la loro semplicità e potenza. E’ necessario fare alcune prove per imparare ad utilizzarle bene per tutte le varie necessità.

Ti anticipo che ci sono anche altri tipi di query più complesse ma le vedremo in un altro articolo. Quelle che abbiamo visto sono le query più comuni e risolvono una grandissima quantità di esigenze.

C’è qualcosa di poco chiaro oppure non sai come utilizzare le query nel tuo database? fissa una consulenza con me e ti aiuterò a risolvere i tuoi dubbi.