Query SQL in Access

LA QUERY DI SELEZIONE

Per poter creare dei programmi in Access ben fatti occore conoscere molto bene il linguaggio per le interrogazioni sui database ( query ) SQL ( Structured Query Language ). Questo linguaggio fu introdotto dalla IBM per poter interrogare i suoi database relazionali e da allora è stato sempre utilizzato per questo scopo anche da Microsoft ed altri, in pratica è divenuto uno standard per i database relazionali. Ogni volta però che veniva adeguato per i propri scopi, alcune software house hanno creato dei dialetti di questo vero e proprio linguaggio di programmazione, così Microsoft ha creato il proprio dialetto, quello che oggi troviamo nello strumento per database di Office. Un database relazionale di Access è un file al cui interno abbiamo le tabelle, la parte principale di un archivio, all’interno delle tabelle abbiamo i campi, che formano la struttura della tabella, mentre i dati si chiamano record. Ogni campo può essere identificato con un nome ed un tipo di dati che contiene, testo, numeri, valute, date, etc.. Per selezionare i dati all’interno di una tabella dobbiamo creare una query di selezione:

SELECT nome campo 1, nome campo 2, …. * FROM nome tabella

il comando SELECT fa in modo di selezionare determinati campi o tutti ( * ) da una tabella. Prendiamo per esempio la tabella “Comuni” contenente i campi “IDComune, Comune, CAP, Provincia” ( il primo di questi sarà di tipo numerico intero lungo con indice primario e autoincrementante, che serve per i join che vedremo nelle prossime lezioni ). Per selezionare solo il nome del comune e che inizia per “C” dobbiamo scrivere:

SELECT Comune FROM Comuni WHERE Comune LIKE ‘C*’ ORDER BY Comune

con questo comando abbiamo isolato solo i comuni che iniziano per “C” ed in ordine alfabetico ascendente. Vediamo che abbiamo scritto i comandi SQL in maiuscolo, questo per differenaziarli dai nomi dei campi e delle tabelle. Al posto di “LIKE” potevamo anche scrivere “=” , ma in questo caso non potevamo utilizzare l’asterisco e quindi potevamo solo cercare un comune per volta; inoltre se l’argomento del “LIKE” o “=” è un testo si deve racchiudere questo tra apici per differenziarli dai numeri. In Access tutto può essere fatto graficamente, ma se si desidera anche scrivendo il codice a mano selezionando il tipo di visualizzazione SQL. In visualizzazione struttura una query è molto più semplice da capire. Per creare una nuova interrogazione basta andare nella linguetta delle query e cliccare su nuovo, selezionare da struttura e scegliere la tabella su cui eseguire l’interrogazione, nel nostro caso la tabella “Comuni”, poi da campo selezionare “Comune”, facciamo in modo che sia visualizzato avendo il check spuntato, selezioniamo ordinamento crescente o decrescente e poi in criteri inseriamo ‘LIKE “C*”‘. Quello che abbiamo scritto prima ora lo abbiamo compiuto graficamente, molto più comodo, ma non abituatevi, almeno all’inizio, a creare query in questo modo, per imparare a programmare in SQL infatti avrete bisogno di esperienza, che si ottiene solo facendo il lavoro manualmente. Se provate a visualizzare la query in SQL vedrete il codice creato.
Se desiderate avere degli esempi di database utili per vedere le query a livello di codice VBA, potete scaricare ad esempio Calus 2012 che ha molte query di ricerca nel codice sorgente; lo potete trovare tra i software gratuiti sul nostro sito e se desiderate porre delle domande potete iscrivervi al nostro forum su Office.

Lezione Successiva >>

Di Giampaolo Rossi

Sviluppatore software da oltre 16 anni.