sei sul sito di Giovanni Fraterno

ATTENZIONE che, per importanza sociale, subito dopo il legame affettivo che si instaura all'interno di una famiglia, viene quello che si instaura fra il professore e i suoi alunni, e che turbare entrambi i rapporti può essere carico di conseguenze (sabato 31° gennaio 2004, il professore).
6) Le query: operazioni di base
( 1 - 2 - 3 - 4 - 5 - 6 )

In questo modulo imparerete a:

    6.1) creare una semplice query

    6.2) salvare una query

    6.3) affinare i criteri di ricerca

    6.4) applicare dei filtri a una query e poi rimuoverli

 

6.1) Creare una semplice query

A mano a mano che aumentano le informazioni archiviate in una base dati, aumenta anche la necessità di possedere dei validi criteri di ricerca.

 

Diventa allora indispensabile poter recuperare rapidamente singoli dati o gruppi di dati, qualunque sia la tabella, il campo o il record in cui questi sono conservati.

 

Lo strumento classico che i programmi del tipo di Access forniscono a tale scopo è la "query", o "interrogazione", se vogliamo usare il corrispondente termine in italiano.

 

Nel prosieguo del modulo adopereremo indifferentemente entrambe le forme.

 

Ma vediamo ora come fare a generare una semplice query, per estrarre dati dalla ormai ben nota tabella "Videoteca".

   

In primo luogo attiviamo il selettore "query", cioè il secondo pulsante dall'alto del menu di sinistra della finestra database.

 

Come vedete, compaiono sulla destra solo i metodi per la creazione di query, non essendovi al momento interrogazioni già salvate.

 

Facciamo un doppio clic su "Crea query in visualizzazione struttura".

 

Si aprono due finestre: quella in primo piano, la più piccola delle due, ci invita a selezionare le tabelle da interrogare.

 

Scegliamo la tabella "videoteca" e clicchiamo su "Aggiungi".

   

Come risultato di questa operazione, una finestra chiamata "Videoteca", contenente l'elenco dei campi presenti nella tabella omonima, è comparsa nella parte superiore sinistra della finestra grande sullo sfondo, che è lo strumento che utilizzeremo per generare la nostra query.

 

Chiudiamo la finestra che ci ha consentito di selezionare la tabella "Videoteca" e passiamo a lavorare all'interno della finestra "query".

 

La prima operazione da compiere è selezionare i campi della tabella dai quali vogliamo estrarre dati, cioè i campi da interrogare.

 

Per fare ciò, basta fare un doppio clic sul nome di ciascuno dei campi che voglio aggiungere alla query.

 

Scelgo dunque ad uno ad uno tutti i campi, ad eccezione di "FilmID" e "Data di registrazione".

 

Come potete vedere, il nome di ognuno dei campi prescelti è comparso nella prima riga della parte inferiore della finestra "query".

 

Sotto il nome dei campi è riportato invece il nome della tabella "Videoteca", alla quale tutti quanti appartengono.

 

E' questa l'occasione per fornire un rapido cenno sulle regole di interrogazione.

 

Una query, innanzitutto, non è vincolata ad agire sul contenuto di un'unica tabella, come nel nostro esempio, ma può, sotto particolari condizioni, interrogare due tabelle contemporaneamente.

 

L'operazione di collegare i campi di due tabelle per effettuare una ricerca mirata prende il nome tecnico di JOIN.

 

L'operazione invece più comune, cioè scegliere, come abbiamo fatto noi, uno o più campi da una stessa tabella, prende il nome di SELECT.

 

Entrambe le operazioni fanno parte di un linguaggio conosciuto come SQL, ben noto a chi lavora con le basi di dati.

   

La sigla SQL sta per "Structured Query Language", cioè, in italiano, "Linguaggio di interrogazione strutturato".

 

Tutte le query realizzate per mezzo di Access utilizzano questo linguaggio, ma lo fanno per così dire "in segreto".

 

Per nostra fortuna, infatti, l'utente comune può costruire query anche complesse usando semplicemente il mouse, senza essere costretto a scrivere o a vedere una sola riga di codice.

 

Ma continuiamo adesso la costruzione della nostra prima query.

 

6.2) Salvare una query

Ora che abbiamo scelto i campi, possiamo procedere ad una prima visualizzazione dei risultati della nostra interrogazione.

 

Il programma però non ci consente di passare alla visualizzazione dati, se prima non salviamo la query.

 

Per salvarla, clicchiamo sull'icona del dischetto, posta sulla barra degli strumenti.

 

Si apre la finestra di salvataggio, che ci chiede di attribuire un nome alla query.

 

Scriviamo nell'apposita casella "qvideoteca", in modo che il nome ci aiuti a ricordare che si tratta di un'interrogazione applicata alla tabella "Videoteca".

 

Clicchiamo infine sul pulsante "Apri" ed ecco visualizzato il risultato della nostra query!

 

Come potete vedere, il risultato che otteniamo è una tabella in tutto analoga all'originale "Videoteca", tranne che per i due campi esclusi, ovvero: "FilmID" e "Data di registrazione".

 

E' chiaro che, se la query deve servire a qualcosa, bisogna restringere il campo dell'interrogazione.

 

Nel caso, infatti, stessimo estraendo dati da una tabella con migliaia di record, ottenere una risposta contenente altre migliaia di record non è evidentemente di nessun aiuto.

 

Vediamo dunque come fare a restringere il campo dei risultati visualizzati.

 

6.3) Affinare i criteri di ricerca

Possiamo restringere fino al contenuto di un singolo record il risultato di un'interrogazione, inserendo opportuni valori nella riga "criteri".

 

Dalla tabella "videoteca" posso ad esempio visualizzare solo i record relativi ai film del regista Ron Howard.

 

Per farlo, posiziono il cursore all'interno della riga "criteri" in corrispondenza del campo "regista", e digito "Ron-spazio-Howard".

 

Passo quindi in visualizzazione dati ed ecco come unico risultato della query il record del film "A beautiful mind", diretto appunto dal regista Ron Howard.

 

Un modo per semplificare la scrittura dei valori nella riga "criteri" è usare il carattere jolly asterisco.

 

Avremmo potuto ad esempio scrivere "*Howard" ed ottenere il medesimo risultato della query precedente.

 

L'asterisco messo prima di una stringa di caratteri significa cioè, tradotto in linguaggio umano: "cercami qualsiasi record che finisce con la parola "Howard"".

 

Messo alla fine della stringa significa invece: "cercami qualsiasi record che comincia con la parola "Howard".

 

E' chiaro che un simile sistema dà risultati utili soltanto se la stringa immessa insieme con l'asterisco è sufficientemente lunga e significativa da restringere opportunamente la ricerca.

 

Ma torniamo ora alla nostra query con Access, per accennare ad un tipico sistema utilizzato per circoscrivere i risultati di una ricerca.

 

Si tratta dell'utilizzo di operatori logici come AND, OR e NOT, che significano rispettivamente, in italiano, "E", "OPPURE",  "NON".

 

Vediamo in particolare un esempio pratico dell'uso dell'operatore logico AND.

 

Se eseguiamo una query immettendo nel campo "durata" il criterio ">100" otteniamo cinque risultati: l'elenco cioè dei cinque record relativi a film che durano più di 100 minuti.

 

Possiamo rifinire questa ricerca specificando che la query deve soddisfare anche un valore di durata massimo: non vogliamo cioè avere tra i risultati, film che durino oltre 120 minuti.

 

Dunque, sempre nella stessa cella, alla destra della stringa ">100" scriviamo "AND <120".

 

Passiamo in visualizzazione dati, ed ecco che la nostra query dà stavolta solo due risultati: i film "E.T." e "Dont' say a word", lunghi rispettivamente 115 e 113 minuti.

 

In certi casi, indipendentemente dai criteri di ricerca impostati, può risultare utile visualizzare un numero di campi ridotto.

 

La procedura per ottenere un simile risultato è davvero semplice.

 

Vediamola.

 

Il sistema per visualizzare un minor numero di campi nella tabella di query, consiste nel togliere il segno di spunta dall'apposita casella del campo che voglio escludere: proviamo a farlo con il campo protagonisti.

 

Apro ora la query in visualizzazione dati ed ecco che, tra "regista" e "durata" non appare più il campo protagonisti.

 

E' importante notare, però, che il disattivare la visualizzazione di un campo non significa eliminare l'azione di quel campo sulla query.

 

In altri termini, anche se abbiamo disattivato la visualizzazione della colonna "protagonisti", possiamo continuare ugualmente ad effettuare ricerche che usano come criteri i nomi dei protagonisti.

 

Vediamo come fare.

   

Senza il segno di spunta sotto "protagonisti", nella sottostante cella "criteri" inserisco il valore "John Travolta" e clicco su "visualizzazione dati".

 

Otteniamo come risultato della query il record del film "Unico testimone", il cui protagonista è appunto l'attore John Travolta.

 

Il suo nome però non appare tra i risultati, dal momento che abbiamo disabilitato la visualizzazione dei dati contenuti nel campo "protagonisti".

 

Vediamo allora in che modo possiamo effettivamente eliminare da una query un campo precedentemente inserito.

 

Il sistema per eliminarlo è rapidissmo: clicchiamo sul nome del campo da eliminare, ad esempio su "protagonisti", e poi, una volta selezionato il campo, premiamo il pulsante "Canc" sulla tastiera.

 

Naturalmente è altrettanto semplice reinserire un campo precedentemente eliminato: basta un doppio clic sul suo nome, all'interno della finestra di tabella a cui il campo appartiene, finestra che si trova, come abbiamo visto, nella parte superiore sinistra del modulo per le "query".

 

6.4) Applicare dei filtri a una query e poi rimuoverli

Vediamo adesso un altro modo, molto semplice e veloce, per effettuare delle interrogazioni.

 

Agiremo stavolta direttamente sulla tabella "Videoteca", senza utilizzare la finestra "query".

 

Il sistema a cui ci si riferisce è quello dei filtri.

 

Proveremo ad applicare ed a rimuovere un filtro in base alla selezione.

 

Apriamo con un doppio clic la tabella "Videoteca" e selezioniamo con un altro doppio clic la parola "drammatico", in una delle sue occorrenze all'interno del campo "genere".

 

Facciamo quindi un clic sull'icona con l'imbuto e il fulmine, sulla barra degli strumenti.

 

Istantaneamente scompaiono dalla tabella tutti gli altri record, ad eccezione dei soli due relativi a film drammatici.

 

Abbiamo cioè applicato un filtro alla tabella in base alla selezione.

 

Vediamo ora come rimuoverlo.

 

Per ripristinare la visualizzazione completa dei record, clicchiamo semplicemente sull'icona "rimuovi filtro", simboleggiata dal disegno di un imbuto.

 

Ed ecco apparire nuovamente i record che erano stati nascosti dall'applicazione del filtro.



utenti in questo momento connessi alla rete di siti web di Giovanni Fraterno: