Libero

Reperire informazioni

In questo capitolo si apprenderà come si accede a un database esistente, come trovare un record in base a criteri assegnati, come creare delle query e salvarle, come si applicano i filtri alle query e come si rimuovono.

Inoltre, si apprenderanno le modalità per perfezionare un'interrogazione, come si aggiungono e come si eliminano i campi alle query.

Operazioni di base

Consultando i dati di un database ci si potrebbe trovare nella condizione di non riuscire a ottenere nel modo carretto l'informazione che serve.

Un database viene creato progettando in maniera adeguata le tabelle di cui è composto.

Ognuna di esse è strutturata in record , i cui campi hanno dimensioni ottimizzate per contenere i dati; per renderne più semplice l'immissione o la modifica, vengono create maschere .

Il database dei cittadini di un comune sarebbe simile a un grosso contenitore.

I record potrebbero contenere tutti i dati delle persone che vivono in quel luogo, dal punto di vista anagrafico.

Se per stampare un certificato di residenza, si dovesse aprire una maschera e scorrere i record uno dopo l'altro, i database non avrebbero probabilmente il successo e la diffusione che hanno.

L'importanza di un database nella gestione dei dati risiede in buona parte nella facilità di cercare, trovare e presentare le informazioni che occorrono a uno o più utenti.

Nell'esempio del database degli abitanti di un comune, questo significa poter accedere alle informazioni sui cittadini residenti, stampare certificati di famiglia e visualizzare le liste delle persone che godono del diritto di voto.

I dati contenuti nel database diventano informazioni che ogni impiegato deve poter estrarre nel modo più semplice possibile, seguendo differenti criteri di selezione.

Per estrarre informazioni da un database si utilizzando delle query , ossia procedure di interrogazione.

Normalmente, le query forniscono le informazioni prodotte sotto forma di foglio dati.

Per visualizzare le informazioni prodotte da una query si possono anche utilizzare le maschere.

Per stamparle, si possono sfruttare i report ossia procedure con le quali le informazioni estratte vengono organizzate per essere riprodotte sotto forma di righe su carta e, volendo, anche a video.

Per creare una query, sono diverse le domande da porsi.

Per esempio, occorre avere chiaro:

Una query è uno strumento di interrogazione dati potente e versatile.

Però, si può creare una query valida solo dopo aver definito una serie di aspetti che ne indirizzino correttamente il lavoro di realizzazione.

In primo luogo, non è detto che si debba creare una sola query per ogni tabella. Da una stessa tabella possono essere create quante query si vogliono, ognuna con un proprio obiettivo.

Si supponga di effettuare delle interrogazioni sul database dei cittadini di un comune, per esempio, chiedendo di visualizzare i dati per la stampa di un certificato di nascita; le informazioni che vengono riprodotte sono il cognome, il nome, il luogo e la data di nascita della persona per cui è stato richiesto, anche se nella tabella anagrafica sono contenuti molti altri campi.

Se si deve controllare il numero di vaccinazioni, le notizie visualizzate riguarderanno il tipo e la data in cui sono state eseguite.

Dato che sulla stessa tabella possono essere effettuate più interrogazioni per avere informazioni di natura diversa, evidentemente nei risultati compariranno solo parte dei dati di un record e solo parte dei record di una tabella. In particolare, ci sono solo i campi che l'utente ha scelto di visualizzare, in relazione all'obiettivo della query; analogamente, ci sono solo i record che soddisfano un dato criterio di selezione, che, nel caso del database del comune, è ottenere il contenuto dei campi cognome e nome uguale ai dati del richiedente del certificato.

Il risultato di una query viene chiamato RecordSet . Un RecordSet non è una tabella, ma una particolare vista di una porzione dei dati in essa contenuti.

Per maggiore precisione, una query può anche offrire risultati desunti da più tabelle in relazione tra loro.

In opportune condizioni, i dati visualizzati dal RecordSet possono anche essere modificati, aggiornando, così, i campi delle tabelle dai quali sono stati letti.

I tipi di query disponibili in Microsoft Access, che comunque in questo modulo non verranno approfonditi, sono:

Una Query di selezione è quella più comunemente utilizzata, perchè permette di leggere dati da una o più tabelle e presentare i risultati sotto forma di un foglio dati. Consente anche di ottenere valori calcolati con quelli dei campi letti dall'interrogazione.

Nel foglio dati nel quale viene visualizzato il RecordSet, è possibile anche modificare i dati per aggiornare le tabelle di partenza.

Spesso, per ottenere le informazioni da un'interrogazione, è necessario chiedere tutti i record nei quali si trovano dati che vanno "da..." "a...".

Con la Query con parametri, il programma visualizza una finestra di dialogo nella quale chiede all'utente di inserire i valori necessari per fare i confronti.

Per esempio, si potrebbe chiedere di stampare (o di visualizzare) tutti i cittadini di un comune il cui cognome abbia l'iniziale compresa tra due lettere dell'alfabeto.

Una Query a campi incrociati è utile per recuperare valori complessivi, calcolati a partire da altri presenti in un campo di una tabella, raggruppandoli sotto una doppia intestazione, presente in due zone in alto e a sinistra del foglio dati.

Serve per effettuare valutazioni come quelle che si possono desumere dalla visualizzazione di una tabella pivot, in un foglio elettronico come Microsoft Excel.

La Query di comando permette di eseguire modifiche su più record di una tabella contemporaneamente: le operazioni possibili riguardano la cancellazione, l'aggiornamento e l'aggiunta di nuovi record, fino alla creazione di una nuova tabella.

Le Query SQL (da Structured Query Language) vengono utilizzate da chi conosce l'SQL, un linguaggio standard per l'interrogazione dei database.

La creazione di una query avviene per gradi e con una sequenza di operazioni che possono essere sia manuali, sia guidate dal programma.

Le basi di partenza sono l'accesso al database e la definizione dei criteri di selezione e di ordinamento dei risultati.

Accedere a un database esistente

Per reperire informazioni in un database , la prima operazione da eseguire è l’accesso alle tabelle che ne fanno parte.

Quando si lancia in esecuzione Microsoft Access, si apre la finestra di dialogo che chiede a quale database accedere.

Scegliendo il nome tra quelli elencati nel riquadro in basso della finestra di dialogo e confermandolo, il programma legge il file dal disco e lo porta in memoria centrale.

Per permettere all’utente di lavorare, si apre una finestra che contiene gli strumenti a disposizione, che riguardano la gestione di Tabelle, Maschere , Query , Report , Pagine Web , Macro , Moduli.

Per la gestione delle query, è necessario fare clic sul pulsante Query, che viene visualizzato in una colonna sulla sinistra della finestra degli strumenti.

Una premessa fondamentale all’attività di costruzione di una query è che debba essere stata creata almeno una tabella; in caso contrario non è possibile stabilire su quali dati debba operare.

Inizialmente, nel riquadro di destra compaiono solo due elementi:

Nel primo caso, l’utente deve creare manualmente la query e imporre le condizioni di selezione e i criteri di ordinamento che desidera, operazione che può essere svolta con facilità dopo aver fatto un po’ di pratica.

Con la creazione guidata, è il programma ad aiutare l’utente nella costruzione della query, attraverso una serie di finestre di dialogo.

All’interno di ciascuna di esse, l’utente può fare scelte e inserire informazioni necessarie per completare il lavoro.

Trovare un record sulla base di criteri assegnati

Se si cerca un’informazione, significa che si stanno prendendo dei record da un gruppo molto più ampio. La scelta di uno rispetto a un altro viene eseguita sulla base di precisi criteri. Quelli maggiormente utilizzati possono riguardare:

Per esempio, si può chiedere di disporre di tutti i record in cui un campo cognome inizi con la lettera "M", di tutti quelli che contengono le fatture emesse da una data a un’altra oppure di tutte le persone che abbiano più di due figli.

E’ possibile anche poter combinare i diversi criteri, per avere un risultato mirato all’obiettivo per il quale si sta creando la query .

Quando si lavora con una query in mobilità struttura, per ogni campo esistono due voci che possono accettare criteri stabili dall’utente.

Nelle caselle possono essere inseriti operatori booleani (o logici) che permettono operazioni di confronto tra il valore del campo e quello inserito dall’utente.

Gli operatori sono quelli classici utilizzati nei programmi; di seguito ne vengono elencati alcuni tra i più noti, presenti in Microsoft Access:

Segno Significato
< Minore di
> Maggiore di
= Uguale a

Per esempio, in un campo Cognome si potrebbe scrivere:

<"M"

Questo provocherebbe la visualizzazione di un foglio dati che include solo i record che, nel campo in esame, hanno l’iniziale minore della lettera "M".

Se invece si scrivesse un valore, senza aggiungere un operatore logico, la query produrrebbe come risultato tutti i record che contengono esattamente quel valore e non altri.

Per esempio, se in un campo data si scrivesse:

04/03/1955

il foglio dati visualizzerebbe tutti i record che hanno quella data.

Se non fosse memorizzata in alcun campo della tabella, il foglio dati risulterebbe vuoto; se quella data fosse registrata in un solo record, l’esecuzione della query mostrerebbe unicamente quello che la contiene.

La sintassi delle query prevede che i valori dei criteri rispettino determinate regole: le virgolette che racchiudono un campo alfanumerico sono importanti, per esempio, per far capire che si tratta di caratteri e non altri tipi di dati .

Per evitare di trovare errori nelle query a causa di dimenticanze, è il programma stesso a correggere automaticamente le scritte che iniziano con caratteri inserite nei criteri, aggiungendovi le virgolette all’inizio e alla fine.

Analogamente, nel caso di criteri che comprendono campi di tipo Data, il programma aggiunge prima e dopo il valore dei caratteri cancelletto (#), come vuole la sintassi delle query.

Per esempio, la data precedente assumerebbe la forma: #04/03/1955#

I campi di tipo numerico, invece, vengono lasciati senza simboli aggiunti, in quanto non sono possibili ambiguità.

Creare una semplice query

Un modo semplice per creare una query in Microsoft Access è quello di servirsi di una creazione guidata: dopo aver aperto il database , è necessario fare clic sul pulsante Query nella finestra degli strumenti, per visualizzarle i due comandi nel riquadro di destra.

Facendo clic sulla voce, Crea una query mediante una creazione guidata compare la finestra di dialogo che chiede due informazioni:

Le operazioni possono essere eseguite piuttosto velocemente: è sufficiente fare clic sul pulsante con la freccia rivolta verso il basso, posta accanto alla casella di riepilogo con i nomi delle tabelle e delle query esistenti.

Una volta aperta la finestra a discesa corrispondente, si scorre la lista delle tabelle, utilizzando eventualmente la piccola barra di scorrimento verticale; effettuata la scelta con un clic sul nome, nel riquadro in basso sulla sinistra il programma visualizza l’elenco di tutti i campi che ne compongono il record .

Supponendo che la tabella dei dati degli impiegati di un’azienda, se ne vedrebbe il codice identificativo, il cognome, il nome, l’indirizzo, la città, la data di nascita e così via.

Per inserire tutti i dati nella query, è sufficiente fare clic sul pulsante al centro con il doppio simbolo di maggiore (>>): tutti i campi mostrati a sinistra passerebbero nel riquadro di destra.

Facendo clic sul pulsante Avanti, si arriverebbe alla finestra di dialogo conclusiva, dalla quale sarebbe possibile dare un nome alla query (sostituendolo a quello generico che il programma assegna in automatico) e quindi fare clic sul pulsante Fine per completarla.

Si potrebbero desiderare solo alcuni campi del record di una tabella.

Per esempio, con quella degli impiegati sarebbe possibile creare un foglio dati di riferimento per una sorta di rubrica telefonica interna.

La scelta dei campi, quindi potrebbe suggerire di includere nella query solo:

Creare una query con criteri multipli

Al centro della finestra di dialogo finale della creazione guidata di una query si trovano due pulsanti di controllo, le cui etichette recitano:

  • Aprire la query per visualizzare le informazioni
  • Modificare la struttura della query

La prima voce risulta attivata per defult, quindi un clic su Fine mostra immediatamente il risultato del lavoro.

La voce Modifica la struttura della query può essere selezionata per passare alla modalità struttura della query appena creata.

Questa modalità di visualizzazione è utile per sfruttare la possibilità di aggiungere criteri di scelta e di ordinamento dei record. Ogni campo inserito compare in una colonna che, dall’alto verso il basso, comprende le seguenti voci:

La prima e la seconda voce fanno riferimento al nome del campo e alla tabella cui appartiene.

Attivando la casella della voce Ordinamento, i risultati della query vengono visualizzati nel foglio dati in base all’ordine dei valori del campo in esame.

L’ordinamento può essere: Crescente o Decrescente.

Accanto alla casella Ordinamento viene visualizzato un pulsante con freccia rivolta verso il basso. Con un clic si apre una finestra a discesa, al cui interno sono elencati i due valori possibili per l’ordinamento e la scritta (Non ordinato).

Facendo clic su Crescente, i dati seguono l’ordine del campo della colonna dal minore al maggiore: se il campo contiene caratteri , verrà seguito l’ordine della "A" alla "Z". Scegliendo Decrescente, i record verrebbero disposti nell’ordine opposto.

Se invece si facesse clic sulla voce (Non ordinato), non si attribuirebbe alcun criterio di ordinamento al campo della colonna.

La casella di selezione Mostra viene applicata per visualizzare il campo nel foglio dati risultante dalla query.

Disattivare la selezione è utile per disporre di campi su cui avere un criterio di selezione oppure per effettuare calcoli, senza mostrarne il contenuto.

Nei campi Criteri e Oppure si possono inserire più criteri di selezione dei record della query, combinandoli tra loro.

Si utilizzano gli operatori di confronto logici (maggiore di, minore di, uguale a, diverso da e loro combinazioni) insieme con gli operatori che attivano le funzioni booleane AND e OR.

Per avere un aiuto dal programma, si può fare clic con il mouse in una dalle caselle e poi selezionare il pulsante Genera dalla Barra degli strumenti Struttura Query.

Viene attivato il generatore di espressioni di Microsoft Access.

Se i criteri di selezione vengono inseriti su uno stesso rigo per più campi, il programma esegue un AND tra i criteri, ossia seleziona i record che li soddisfano tutti contemporaneamente (se ce ne sono).

Se invece i criteri sono posti su rughe diverse, il programma esegue un OR, selezionando i record che ne soddisfano almeno uno.

Inserendo criteri di selezione in può colonne, insieme con criteri di ordinamento, la query estrae i record che rispettano i criteri imposti, visualizzandoli nell’ordine richiesto.

Salvare una query

Una volta completato il lavoro di creazione di una query , il programma può aprirla immediatamente e mostrare il risultato dell’interrogazione.

Nella rappresentazione foglio dati , viene visualizzata una tabella con le righe che contengono i record selezionati sulla base dei criteri immessi e le colonne con i campi scelti in fase di creazione.

Si può scorrere il foglio dati in su e in giù, mediante mouse o con tastiera (tramite i tasti direzionali PgSu e PgGiù).

Poichè nella parte inferiore della finestra della query compare la barra che permette di navigare tra le righe visualizzate, è possibile muoversi tra i record anche per mezzo dei pulsanti di navigazione (primo record, ultimo, precedente, successivo).

Spostandosi tra le righe, si possono anche modificare e aggiornare i dati nella tabella di appartenenza.

Terminata la consultazione, è possibile assegnare un nome alla query, salvandola come componente integrante del database.

In Microsoft Access, quando si crea una query con la creazione guidata, nella parte superiore dell’ultima finestra di dialogo viene visualizzata la casella di testo Scegliere il nome da assegnare alla query; il programma propone una descrizione standard, composta dal nome della tabella alla quale fa riferimento la query e dalla scritta Query.

Per assegnare un nome significativo dei risultati che si otterranno, è sufficiente digitarlo nella casella di testo e Access lo memorizzerà nel database, insieme con quelli delle altre query.

Se si crea una query in visualizzazione struttura, completato l’inserimento dei campi e dei vari criteri di scelta e ordinamento si fa clic sul pulsante di chiusura della finestra: a questo punto il programma chiede se si intendono salvare le modifiche alla struttura della query.

Le risposte possibili sono tre:

Se si sceglie Annulla si rimanda l’operazione di salvataggio e si torna a lavorare in visualizzazione struttura.

Se si risponde No, si rinuncia alle modifiche apportate alla query e la si chiude senza salvare nulla.

Rispondendo Sì, il programma visualizza una piccola finestra che include una casella di testo, dove viene proposto un nome standard, Query1.

Il numero naturalmente cresce se si creano più query senza assegnare loro un nome specifico.

Digitando il nome della query e fatto clic sul pulsante di conferma OK, essa viene salvato con un nome che la rende facilmente individuabile: sarà sufficiente fare doppio clic su quest’ultimo per poterla lanciare in esecuzione.

Applicare filtri a una query

Una query ha la funzione di estrarre dati da un database . Se esso è grande, con la query viene visualizzato un numero inferiore di record , che sono in questo modo leggibili con maggiore facilità.

Se si fa riferimento al database di dipendenti citato in precedenza, in cui l’estrazione era riferita semplicemente ai quattro campi Cognome, Nome, Città e Numero di telefono, non viene ridotto il numero di record, ma quello dei campi visualizzati.

Se si necessita del numero di telefono di un dipendente, di cui non si ricorda il cognome ma si sa che abita in una certa città, occorre comunque scorrere l’archivio.

Una soluzione possibile è quella di applicare un filtro a una query.

Il filtro è una funzione che provoca la visualizzazione dei soli record di un foglio dati che corrispondono a un certo requisito.

E' un po’ come attribuire un criterio di scelta, ma con la possibilità di farlo in qualsiasi momento e senza intervenire sulla struttura della query.

Per applicare un filtro a una query, infatti, è necessario lavorare in visualizzazione foglio dati.

Supponendo di voler visualizzare tutti i record di una tabella di prodotti raggruppati in categorie merceologiche, in Microsoft Access la sequenza operativa sarebbe:

  1. Aprire il database
  2. Fare clic sul pulsante Query nella finestra degli strumenti del database.
  3. Fare doppio clic sul nome della query "Elenco alfabetico prodotti".

  4. Fare clic sul campo Categoria, in corrispondenza del nome della categoria (per esempio "Condimenti") sulla quale si intende impostare il filtro.

  1. Fare clic su Record, nella Barra dei menu.

  2. Selezionare Filtro.

  3. Fare clic su Filtro in base a selezione.

Subito dopo, il foglio dati mostrerà solo le righe del campo Categoria che contengono Condimenti.

In questo modo si ottiene l’evidente vantaggio di visualizzare solo il tipo di prodotti che interessa, evitando un lunghissimo elenco di righe; sarà più facile cercare o modificare un record e, soprattutto, non è stato necessario intervenire sulla struttura della query.

Rimuovere filtri ad una query

E’ possibile anche applicare a una query un secondo filtro, o anche un terzo e così via, ma in realtà questa operazione potrebbe essere utile solo in particolari occasioni.

In Microsoft Access, sono disponibili vari tipi di filtri. Oltre a Filtro in base a selezione si trova, per esempio, il Filtro in base a maschera .

Per applicare il filtro in base a maschera alla query, la sequenza operativa è Record/Filtro/Filtro in base a maschera.

Il foglio dati diventa un’unica riga.

Ogni campo di questa riga può essere attivato facendo clic sulla casella; sulla destra viene visualizzato un pulsante con freccia rivolta verso il basso, che permette di accedere a una finestra a discesa nella quale sono riepilogati tutti, e solo per una volta, i valori presenti in quel campo.

La selezione funziona anche combinando le scelte dei diversi campi.

Si ipotizzi di lavorare, per esempio, con fogli dati risultante dalla query dell’elenco dei prodotti alimentari citata in precedenza, e di aver attivato Filtro in base a maschera.

Facendo clic nella casella corrispondente a Categoria, verrebbero visualizzate tutte quelle disponibili nell’elenco dei record : per esempio, potrebbero essere dieci diverse su un totale di cento record.

Si potrebbe allora selezionare la categoria "Condimenti" e, chiedendo al programma di avviare la ricerca, il foglio dati mostrerebbe solo i record che appartengono a quella categoria.

Alla condizione precedente potrebbe essere aggiunta anche la selezione del nome di un certo fornitore.

Chiedendo di applicare i filtri selezionati, questa volta il foglio dati visualizzerebbe solo le righe dei prodotti della categoria "Condimenti" acquistati dal fornitore indicato.

Una volta applicate le condizioni sui campi, per applicare il filtro, occorre:

  1. Fare clic su Filtro, nella Barra dei menu.
  2. Fare clic su Applica filtro/ordina.

Una volta applicati uno o più filtri su un RecordSet estratto con una query, si potrebbe desiderare di ripristinare la situazione di partenza.

Per rimuovere i filtri, in Microsoft Access la procedura da eseguire, mentre si sa sta visualizzando la query, è:

  1. Fare clic su Record, nella Barra dei menu.
  2. Nel menu a discesa selezionare Rimuovi filtro/ordina.

Il programma visualizzerà il foglio dati di partenza della query.

Perfezionare una interrogazione

Dopo aver costruito una query , lanciandola in esecuzione si ottiene un foglio di lavoro con i record che soddisfano i criteri di scelta impostati dall’utente.

Il RecordSet ottenuto rispecchia esattamente gli obiettivi per i quali è stata creata la query.

Ma può capitare che ci si accorga che la query non è completamente soddisfacente.

Potrebbe servire aggiungere altri campi oltre a quelli già inseriti, per avere la possibilità di consultare altre informazioni.

Al contrario, ci si potrebbe accorgere che uno o più campi presenti nel RecordSet non sono utili per quel tipo i interrogazione.

Per fare un esempio, si può richiamare ancora una volta la tabella degli impiegati, dalla quale sono stati selezionati i campi:

Le informazioni estratte dalla tabella sono servite per avere una semplice rubrica, al fine di rintracciare un impiegato telefonando a casa.

Nell’era appena iniziata della telefonia mobile, tuttavia, è più semplice rintracciare una persona sul cellulare, piuttosto che chiamare il numero fisso del telefono dell’abitazione. Dunque può essere utile inserire il campo "Telefono cellulare" nella query.

Occorre, perfezionare l’interrogazione, intervenendo per modificare la query già esistente.

Le operazioni possono riguardare:

Le attivita di modifica devono essere eseguite in seguito all’apertura della query in visualizzazione struttura.

Aggiungere campi a una query

Per aggiungere campi a una query , occorre visualizzarla in modalità struttura.

La finestra della query aperta è divisa orizzontalmente in due metà.

Nella metà superiore vengono visualizzate le tabelle dalle quali sono stati presi i campi inseriti nella query.

In quella inferiore viene visualizzata una griglia di righe e colonne del database.

Dall’alto verso il basso, le righe contengono prima il nome e la tabella di appartenenza del campo, quindi le caselle nelle quali impostare altre proprietà .

L’aggiunta di un campo è un’operazione eseguibile mediante il mouse.

Si supponga di avere una query con tre soli campi:

Volendo aggiungere anche il campo Prezzo unitario, l’azione viene eseguita tramite drag and drop :

  1. Portare il puntatore sul campo da aggiungere alla query (in questo caso: Prezzo unitario), e premere il pulsante sinistro del mouse

  2. Tenendo premuto il pulsante sinistro, trascinare la scritta con il nome del campo verso la prima colonna libera della query.

  1. Giunti con il puntatore sopra la prima casella in alto della colonna libera, lasciare il tasto sinistro.

Durante il trascinamento, il puntatore assume l’aspetto di un piccolo rettangolo tridimensionale, simile a una casella di testo .

Il campo aggiunto riempie la colonna nella quale è stato trascinato con il movimento del mouse.

Tornando alla visualizzazione del foglio dati , esso diventa il campo visualizzato sulla destra in fondo a ogni riga.

Più precisamente, apparirà nella casella successiva all’ultima che compariva nella query, prima della modifica.

Supponendo che si intenda inserire un nuovo campo Nome, in una query con Cognome, Città e Telefono, la nuova posizione dovrebbe essere quella di una casella tra il primo e il secondo campo.

Per aggiungere un nuovo campo in posizione intermedia tra quelli esistenti, è sufficiente trascinarne il nome in corrispondenza della casella che deve spostarsi verso destra.

Nell’esempio dell’inserimento del campo Nome, si prenderà la scritta Nome con il puntatore dal riquadro dei campi della tabella in alto e la si trascinerà sulla colonna del campo Città.

Questa si sposterà verso destra di una posizione, insieme con quelle dei campi successivi.

La nuova sequenza di campi (e, quindi, di caselle nella riga del foglio dati) diventerà Cognome, Nome, Città e Telefono.

Eliminare campi da una query

L’altra possibilità di miglior utilizzo di una query è quella di eliminare un campo esistente. Non è detto, infatti, che tutti i campi inseriti in una query in seguito risultino effettivamente utili.

Se ci si accorgesse che la visualizzazione dei risultati potrebbe mostrare un campo superfluo, le soluzioni alternative possibili sono due:

In entrambi i casi è necessario agire in modalità struttura della query, perchè si tratta di intervenire su un aspetto sostanziale del risultato da visualizzare.

La prima soluzione, ossia quella di nascondere la visualizzazione del campo, corrisponde a disattivare la proprietà Mostra.

L’operazione viene eseguita facendo clic sulla casella di selezione che appare sotto la casella Ordinamento, nella colonna del campo specifico.

Questo, tuttavia, offre una soluzione apparente, perchè anche se il campo non viene visualizzato è comunque presente nel RecordSet, rendendo più complessa la query, più lungo il tempo occorrente per avere il risultato della sua elaborazione e una maggiore occupazione di memoria complessiva.

Nascondere un campo di una query è utile se quel campo serve per altre funzioni, come per esempio l’applicazione di un criterio di selezione, l’utilizzo quale campo per l’ordinamento o l’esecuzione di un calcolo sul valore che contiene.

Una soluzione per togliere un campo che non serve è la sua eliminazione.

In fondo, togliere un campo da una query non provoca una perdita di dati , ma solo la mancanza della sua elaborazione nell’interrogare una tabella .

Una query, infatti, non è una tabella che contiene dati, ma una serie di comandi che ne eseguono l’estrazione da una o più tabelle del database .

Per di più, l’eliminazione di un campo di una query non è un’azione irreversibile e se ci si accorge che quel campo era utile, si può sempre aggiungerlo nuovamente, in un momento successivo.

Per eliminare uno o più campi da una query, è necessario visualizzare la struttura della Query.

La finestra della struttura della query è divisa in due zone orizzontali.

Nella metà inferiore sono visualizzate le colonne dei campi inseriti nella query.

Per eliminare un campo, occorre prima selezionarlo con la sequenza operativa che segue:

  1. Portare il puntatore sulla sottile barra grigia posta sul nome del campo da eliminare: il puntatore assumerà l’aspetto di una piccola freccia nera e spessa con la punta rivolta verso il basso.

  1. Premere il pulsante sinistro del mouse: l’intera colonna risulterà selezionata.

A questo punto, non resta che eliminare il campo.

L’operazione può essere eseguita premendo il tasto Canc da tastiera o eseguendo la sequenza Modifica/Elimina colonne dalla Barra dei menu.

Il risultato ottenuto è l’eliminazione del campo.

Analoga azione può essere eseguita su più campi contemporaneamente.

Dopo aver selezionato il primo, è possibile selezionare un gruppo di campi consecutivi, facendo clic sulla barra grigia posta sull’ultimo nome della serie, mentre si tiene premuto il tasto Shift.

Quando risulteranno tutti selezionati, è sufficiente premere il tasto Canc oppure eseguire la sequenza Modifica/Elimina colonne, per eliminarli dalla query.

Ricercare, selezionare e ordinare

Un database progettato, realizzato e completato dei dati è pronto per essere finalmente utilizzato.

Tuttavia, per ottenere informazioni occorre prima cercarle individuando, i record che rispettano un dato criterio.

Potrebbe trattarsi di record che hanno un campo alfanumerico contenente un certo nome, un campo data contenente una data che rientra in uno specifico intervallo oppure un campo numerico il cui valore è minore o maggiore di un valore numerico specificato dall’utente.

Per esempio, nel caso del database dei cittadini di un comune, si possono interrogare gli stessi dati anagrafici per conoscere:

Come si può notare, per ogni elaborazione vengono estratti i record che soddisfano le condizioni imposte all’interno della procedura.

Nel caso di un certificato di residenza, vengono stampate le informazioni estratte dal record composto dai campi cognome e nome con i dati che coincidono con quelli forniti da chi ha richiesto il certificato.

Nel caso dell’estrazione di record delle persone che abbiano più di diciotto anni di età, invece, si tratta di trovare quelli che hanno il campo Data di nascita, il cui contenuto è una data inferiore di almeno diciotto anni rispetto a quella di riferimento.

Per ottenere i risultati desiderati, la ricerca in un database deve essere pianificata correttamente.

Ricercare, selezionare e ordinare dati sulla base di criteri assegnati

Per ottenere informazioni con una query , è importante definire correttamente i criteri di selezione dei record e impostare l’ordinamento con il quale si desidera avere i dati estratti.

La ricerca dei record che rispettano i criteri impostati si verifica quando si esegue la query.

Se i dati nella tabella vengono aggiornati, lanciando successivamente la stessa query, il RecordSet estratto e visualizzato nel foglio dati contiene già i nuovi dati.

Il RecordSet di una query di selezione è il risultato di un’elaborazione con la quale si verificano i criteri inseriti dall’utente in maniera definitiva e riscontrabili nella visualizzazione struttura della query.

Se si volessero estrarre informazioni sulla base di criteri assegnati di volta in volta, allora occorrerebbe utilizzare una query parametrizzata.

In breve, si tratta di immettere la domanda che il programma dovrà porre all’utente nella casella Criteri del campo da parametrizzare.

Perchè sia riconosciuta come sintassi, è necessario che la stringa di testo compaia tra parentesi quadre e con il segno di due punti (:) alla fine.

Per esempio, in una query che contenga i nomi e la categoria di appartenenza di prodotti alimentari, si potrebbe voler visualizzare quelli di una certa categoria.

Invece di modificare ogni volta la struttura della query, è possibile fare in modo che sia il programma a chiedere quale categoria di prodotti mostrare.

In Microsoft Access, la sequenza operativa è la seguente:

  1. Visualizzare la Struttura della Query.
  2. Fare clic sulla casella Criteri del campo da parametrizzare (nell’esempio: NomeCategoria).
  3. Digitare la scritta, completa delle parentesi quadre: [Categoria:].

Per lanciare la query in esecuzione, la prima volta è sufficiente passare direttamente alla modalità Visualizza, che si ottiene facendo clic sull’ icona omonima nella Barra degli strumenti oppure tramite la sequenza Visualizza/Visualizzazione foglio dati.

Il programma aprirà una piccola finestra di dialogo, suddivisa in tre zone: in alto la domanda rivolta all’utente, al centro la casella di testo nella quale si deve immettere il valore sul quale effettuare la selezione e in basso i due pulsanti OK e Annulla.

Nell’esempio della query sui prodotti, nella casella di testo sotto la domanda Categoria si potrebbe scrivere Bevande e poi fare clic su OK per lanciare la query.

Il risultato sarebbe un elenco dei prodotti che appartengono alla categoria indicata dall’utente.

Il grande vantaggio di questo tipo di query è la possibilità di cambiare il valore del criterio, semplicemente lanciandola in esecuzione.

Ricercare, selezionare e ordinare dati mediante comuni operatori logici

Nella realtà del lavoro quotidiano su un database , non sempre è sufficiente chiedere al programma informazioni relative a record nei quali un certo campo ha un dato valore.

Parametrizzando la ricerca, nella rubrica estratta dal database degli impiegati si potrebbe per esempio cercare il record della persona che ha un certo cognome.

Non è detto, però, che questo soddisfi le necessità operative.

Si potrebbe decidere di cercare i record delle persone le cui iniziali vanno da una certa lettera a un’altra, scelte dall’utente nel momento in cui lancia la query .

Questo darebbe una maggiore flessibilità a chi deve chiedere informazioni, senza costringerlo a sapere e digitare esattamente il cognome di una certa persona.

Volendo generalizzare l’esempio, si potrebbe pensare di chiedere anche la visualizzazione dei dati degli impiegati che abbiano la data di nascita inferiore a un certo anno, per limitare il numero di record estratti.

Nell’esempio che segue si chiede al programma di attivare la ricerca seguendo alcuni criteri:

I termini in maiuscolo indicano alcuni operatori logici, che permettono di attivare i criteri sulla base dei quali il programma deve selezionare i record che li soddisfano.

Per realizzare l’esempio descritto, dopo aver aperto il database e successivamente la query in modalità struttura, in Microsoft Access la sequenza operativa è la seguente:

  1. Nella casella Criteri del campo Cognome scrivere la stringa:

    >=[Cognomi che iniziano da:] And <=[Cognomi fino a:].

  2. Nella casella Criteri del campo DataNascita scrivere la stringa:

    <[Data minore del:].

Passando alla modalità Visualizza foglio dati e ogni volta che si lancerà in esecuzione la query, il programma mostrerà tre finestre di dialogo.


Nella prima chiederà da quale lettera (o cognome) si intende iniziare, nella seconda la lettera finale e nella terza la data rispetto alla quale quella di nascita dell’impiegato deve essere inferiore.

Dopo la terza conferma sul pulsante OK, la query produrrà un foglio dati che rispetterà esattamente tutte le condizioni imposte dall’utente.

Naturalmente è a cura di chi interroga il database scrivere valori che siano congruenti.

Se si indicassero come lettera iniziale "L" e come lettera finale "B", ovviamente la query darebbe come risultato un RecordSet vuoto.

Gli operatori logici disponibili in Microsoft Access sono:

Operatore Significato
< Minore di
<= Minore o uguale a
> Maggiore di
>= Maggiore o uguale a
= Uguale a
<> Diverso da
Not Non uguale a