5.4 Reperire informazioni

5.4.1 Operazioni di base

5.4.1.1 Accedere a un database esistente

5.4.1.2 Trovare un record sulla base di criteri assegnati

Spesso abbiamo bisogno di ricercare, all’interno della tabella soltanto record che hanno una certa caratteristica. Access offre un metodo molto semplice che è quello del filtro: esso consente di visualizzare soltanto quei record della tabella che soddisfano un certo criterio. Il metodo più semplice per creare un filtro è quello del filtro mediante selezione. Supponiamo di avere, ad esempio, un database di libri e di voler selezionare soltanto i record relativi a libri di narrativa. Spostiamoci allora nella colonna Argomento e selezioniamo uno qualunque dei campi che contengono la voce Narrativa, poi clicchiamo sul pulsante Filtro per selezione

il programma selezionerà e visualizzerà tutti i record che avranno la voce Narrativa nel campo Argomento

Per visualizzare di nuovo tutti i record occorre rimuovere il filtro con il pulsante omonimo

L’alternativa è il Filtro in base a maschera che consente di imporre condizioni di filtro più elaborate

il criterio di ricerca viene costruito mediante una maschera. Se vogliamo, ad esempio, cercare tutti i volumi di Antropologia o Architettura, dobbiamo selezionare nella prima cartella, nella colonna Argomento, la voce Antropologia

per inserire la seconda voce dobbiamo compiere la stessa operazione nella cartella Oppure e selezionare la voce Architettura

Notate che, avendo utilizzato la cartella Oppure, il programma ha creato automaticamente una seconda cartella Oppure che potremo utilizzare se volgiamo scrivere una nuova condizione.

Abbiamo costruito un filtro che selezionerà soltanto i record che contengono informazioni su libri di archeologia o architettura.

Per utilizzare questo filtro dobbiamo cliccare sul pulsante Applica filtro

Abbiamo creato un filtro che lascia passare solo i record che soddisfanno la condizione Antropologia o Architettura.

Un altro esempio di filtro è il seguente: nella stessa cartella poniamo più condizioni su più campi

In tal caso vogliamo selezionare libri che rispettino sia la condizione di avere come argomento l’informatica, sia di essere editi dalla Borland. Abbiamo creato una condizione di “e”.

Un filtro non è un oggetto che si possa salvare nel database, ciò vuol dire che, per realizzare in seguito una ricerca con gli stessi criteri, dovremo ricostruire il filtro. Alternativamente, per salvare questa ricerca, possiamo salvare il filtro come query, che è un oggetto che impareremo a realizzare in seguito.

il programma ci chiede con che nome deve salvare la query

Ora troveremo la query fra gli oggetti del database

cliccando due volte rapidamente sul nome della query o sul pulsante Apri, otteniamo l’elenco dei record filtrati

I comandi per la creazione dei filtri si trovano anche nel menu Record

5.4.1.3 Creare una semplice query

Una query è un oggetto che consente di effettuare delle interrogazioni in un database, cioè di ricercare dei record che soddisfano certi criteri. E’ lo stesso concetto, fondamentalmente, dei filtri. Vediamo come si crea una semplice query.

ci portiamo nella sezione query e clicchiamo sulla voce “Crea una query in visualizzazione struttura”, oppure clicchiamo sul pulsante nuovo

appare la seguente finestra di dialogo nella quale selezioniamo la voce Visualizzazione struttura

appare un’ulteriore finestra di dialogo che ci chiede di selezionare la tabella o le tabelle che costituiranno parte della nostra query.

nel nostro database vogliamo selezionare i record in base all’argomento, ma gli argomenti sono presenti nella tabella argomenti, legata tramite la chiave primaria, alla tabella libri che contiene tutte le altre informazioni, per cui dobbiamo inserire entrambe le tabelle nella query

chiudiamo la finestra di dialogo

Dobbiamo ora decidere quali campi vogliamo inserire nella query cioè nella tabella che mostrerà i record risultato della ricerca. Possiamo cliccare due volte velocemente sul campo prescelto o trascinarlo, tenendo il tasto sinistro del mouse premuto, in uno dei campi della query

cliccando sul quadratino della riga Mostra, possiamo decidere di mostrare o meno il campo nella tabella risultato della ricerca.

Dobbiamo imporre ora una condizione di ricerca. Supponiamo di voler selezionare tutti i libri di narrativa. Basta scrivere la parola Narrativa sulla riga Criteri in corrispondenza della colonna Argomenti

Le virgolette che delimitano la stringa vengono introdotte automaticamente dal programma

salviamo la query

ed ecco il risultato

5.4.1.4 Creare una query con criteri multipli

Ora vogliamo selezionare i record corrispondenti a libri di narrativa o informatica. Basta scrivere la parola Informatica nella riga Oppure in corrispondenza della colonna Argomenti

Se volgiamo che i libri siano di informatica “o” narrativa “e” editi dalla Mondadori, dobbiamo scrivere la parola Mondadori nella riga Criteri

Nella creazione dei criteri si possono utilizzare anche i caratteri Jolly come l’asterisco e il punto interrogativo. Un asterisco rappresenta un qualsiasi numero di caratteri, mentre il punto interrogativo rappresenta un singolo carattere. Supponiamo, ad esempio, di volere selezionare tutti i libri editi da editori il cui nome inzia con al b. il criterio può essere espresso come B*

questo è il risultato

UN tipo molto interessante di query è quello a campi incrociati; utilizzata per creare prospetti riassuntivi confrontando i dati contenuti in un campo con quelli contenuti in un altro campo.

Clicchiamo sul pulsante Nuovo e selezioniamo, nella relativa finestra la voce corrispondente alla creazione guidata di una query a campi incrociati

il programma chiede di indicare quale tabella contiene i campii da inserire nella query

supponiamo di voler creare una tabella dalla quale possiamo ricavare il numero di libri che, per ogni editore, sono stati acquistati ogni anno. Come intestazione di riga dobbiamo scegliere allora il campo NomeEditore

andando avanti il programma ci chiede quali campi costituiranno l’intestazione di colonna e noi selezioneremo il campo DataDiAcquisto

Poiché il campo è di tipo Data/Ora in questo database, il programma ci chiede ulteriormente secondo quali intervalli temporali raggruppare le informazioni

ora il programma ci chiede quale formula deve usare per calcolare i valori che appariranno nelle celle di intersezione fra righe e colonne. Noi vogliamo contare i libri comprati ogni anno per ogni singolo editore quindi dobbiamo utilizzare la formula conteggio per gli ID dei libri

Possiamo anche decidere se vi deve essere una somma di riepilogo dei valori presenti in ogni riga

Facciamo un altro esempio: vogliamo calcolare quanti libri abbiamo per ogni editore e per ogni singolo argomento. Ora nel nostro database non vi è una colonna degli argomenti ma soltanto una colonna degli indici degli argomenti, indici che consentono di collegare la tabella dei libri a quella degli argomenti. Se proseguissimo, avremmo una query dove al posto degli argomenti troveremmo soltanto i numeri che rappresentano gli indici degli argomenti. Avremmo, dunque, una query illeggibile. Per superare questo problema creiamo prima una query tradizionale che leghi la tabella dei libri e quella degli argomenti

nella query poniamo il campo Nome Editore e il campo Idlibro dalla tabella Libri ed il campo Argomenti dalla tabella Argomenti

salviamo la query

quando passiamo alla creazione guidata della query a campi incrociati, dobbiamo spiegare al programma che volgiamo prelevare i campi non solo dalle tabelle ma anche dalle query. Dobbiamo perciò attivare l’opzione Entrambi

per le righe selezioniamo il campo Nome Editore dalla query editorelibro

e il campo Argomento

imponiamo poi che in ogni cella ci sia un conteggio effettuato sulla IdLibro

abbiamo infine una tabella che ci informerà su quanti libri per ogni editore ci sono di un dato argomento

Osserviamo che una query ha la forma di una tabella, per cui quando la utilizziamo possiamo applicare tutte le modifiche che abbiamo visto su una tabella normale: dal carattere alo sfondo, al blocco di una colonna, all’occultazione di una colonna

5.4.1.5 Salvare una query

Salvare una query è banale usando il comando o il pulsante Salva. Notiamo, però, che usando il comando Salva con nome possiamo salvare la query come una maschera

questo è un metodo molto rapido per creare una maschera associata alla tabella prodotta dalla query

possiamo salvare la query anche come report

un report non è altro che un rapporto cartaceo dei risultati dell’interrogazione come possiamo vedere dall’esempio

5.4.1.6 Applicare dei filtri ad una query

5.4.1.7 Rimuovere dei filtri da una query

sono le stesse operazioni che abbiamo descritto nella sezione 5.4.1.2 per una tabella normale

5.4.2 Perfezionare un’interrogazione

5.42.1 Aggiungere campi ad una query

Per aggiungere nuovi campi ad una query già creata basta aprirla in modalità struttura

e aggiungere tutti i campiche vogliamo

5.42.2 Eliminare campi da una query

Anche questa è una operazione molto banale: selezioniamo il campo da eliminare e lo tagliamo o usiamo il tasto CANC