Sistemi Informatici Sistemi Informatici
per il supporto alle decisioni per il supporto alle decisioni
Modulo 7b Modulo 7b
COME RICERCARE, COME RICERCARE,
SELEZIONARE E ORDINARE SELEZIONARE E ORDINARE
Precedentemente si sono evidenziate le Precedentemente si sono evidenziate le operazioni fondamentali per la creazione di operazioni fondamentali per la creazione di archivi elettronici e le procedure per estrarre archivi elettronici e le procedure per estrarre
informazioni; si cercherà di approfondire i informazioni; si cercherà di approfondire i concetti ponendo l
concetti ponendo l’’accento sullaccento sull’’utilità e suutilità e su alcune delle possibili applicazioni degli alcune delle possibili applicazioni degli archivi informatizzati nel campo lavorativo.
archivi informatizzati nel campo lavorativo.
La La ricercaricerca delle informazioni, che delle informazioni, che equivale ad una
equivale ad una selezioneselezione di dati da un di dati da un insieme attraverso criteri assegnati ed insieme attraverso criteri assegnati ed
assegnabili di volta in volta, è una assegnabili di volta in volta, è una procedura con la quale ci misuriamo procedura con la quale ci misuriamo
ogni giorno, più volte al giorno.
ogni giorno, più volte al giorno.
Ad Ad eses. si opera su un . si opera su un database database quando:quando:
- si effettuano operazioni bancarie;
- si effettuano operazioni bancarie;
- si marca il cartellino segnatempo in ufficio;
- si marca il cartellino segnatempo in ufficio;
- - si usa un motore di ricerca su Internet.si usa un motore di ricerca su Internet.
Questi ulteriori esempi sono stati riportati per Questi ulteriori esempi sono stati riportati per
far comprendere la
far comprendere la trasversalità trasversalità delledelle applicazioni e le
applicazioni e le reali potenzialitàreali potenzialità dei dei database nel mondo d
database nel mondo d’’oggi, dove laoggi, dove la crescente importanza dell
crescente importanza dell’’informazione e lainformazione e la costante evoluzione dell
costante evoluzione dell’’automazione hannoautomazione hanno fatto dell
fatto dell’’informatica la disciplina piùinformatica la disciplina più importante di questo nuovo millennio.
importante di questo nuovo millennio.
La modalità di
La modalità di ricercaricerca attraverso la selezione attraverso la selezione di dati avviene, indipendentemente dal tipo di di dati avviene, indipendentemente dal tipo di
software per la gestione dei database che si software per la gestione dei database che si utilizza, attraverso i seguenti passaggi logici utilizza, attraverso i seguenti passaggi logici riassumibili graficamente in questo schema:
riassumibili graficamente in questo schema:
inserimento dei criteri
confronto con i record presenti
creazione dell’output
Data
base output
Attraverso tali passaggi, che vengono Attraverso tali passaggi, che vengono
ripetuti ogni qual volta l
ripetuti ogni qual volta l’’utente modificautente modifica i criteri di selezione o il database sul
i criteri di selezione o il database sul quale va ad operare la
quale va ad operare la queryquery, viene, viene generata una
generata una nuova tabellanuova tabella di di
dimensioni variabili, secondo il numero dimensioni variabili, secondo il numero
di record che rispettano i criteri di record che rispettano i criteri
impostati.
impostati.
Le Le query query sono sono dinamichedinamiche, ovvero sono, ovvero sono programmabili a seconda dei record
programmabili a seconda dei record ricercati, ma in Microsoft Access è ricercati, ma in Microsoft Access è
possibile creare più
possibile creare più query query da applicareda applicare allo stesso archivio, in modo da
allo stesso archivio, in modo da rendere
rendere permanenti permanenti i criteri impostati.i criteri impostati.
In Microsoft Access sono disponibili In Microsoft Access sono disponibili
numerosi
numerosi tipi di tipi di queryquery::
Query Query di SELEZIONEdi SELEZIONE
Query Query con PARAMETRIcon PARAMETRI
Query Query a CAMPI INCROCIATIa CAMPI INCROCIATI
Query Query di COMANDOdi COMANDO
Query Query SQLSQL
QUERY DI SELEZIONE QUERY DI SELEZIONE
Una Una query query di selezione è il tipo più comunedi selezione è il tipo più comune di di queryquery..
Tale
Tale query query recupera i dati provenienti da unarecupera i dati provenienti da una o più tabelle e visualizza i risultati in un
o più tabelle e visualizza i risultati in un
foglio dati nel quale, con alcune limitazioni, foglio dati nel quale, con alcune limitazioni,
è possibile aggiornare i record.
è possibile aggiornare i record.
Una Una query di selezione consente inoltre diquery di selezione consente inoltre di raggruppare dei record e calcolare
raggruppare dei record e calcolare
somme, medie, conteggi e altri tipi di totali.
somme, medie, conteggi e altri tipi di totali.
QUERY CON PARAMETRI QUERY CON PARAMETRI
Una query con parametri è una query che, durante l'esecuzione, visualizza una
finestra di dialogo che richiede
informazioni: ad es. richiede di specificare i criteri per il recupero di record o di
immettere il valore da inserire in un campo.
È possibile strutturare la query in modo che vengano richieste più informazioni: ad es. due date se si desiderano
recuperare tutti i record che rientrano in un determinato intervallo di tempo.
QUERY A CAMPI INCROCIATI QUERY A CAMPI INCROCIATI
Le query a campi incrociati consentono di calcolare e di ristrutturare i dati per
semplificarne l'analisi.
Questo tipo di query consente di eseguire una somma, una media, un conteggio o qualsiasi altro tipo di
totale sui dati raggruppati in base a due tipi di
informazioni, uno nella parte inferiore sinistra del foglio dati e l'altro nella parte superiore.
QUERY DI COMANDO QUERY DI COMANDO
Una Una query query di comando consente di apportaredi comando consente di apportare modifiche o di spostare molti record con
modifiche o di spostare molti record con una sola operazione.
una sola operazione.
Sono disponibili quattro tipi di
Sono disponibili quattro tipi di query query didi comando:
comando:
Query Query di eliminazione.di eliminazione. Questo tipo di query Questo tipo di query elimina un gruppoelimina un gruppo di record da una o più tabelle. Con le query di eliminazione vengono di record da una o più tabelle. Con le query di eliminazione vengono eliminati sempre record interi, non sono determinati campi al loro eliminati sempre record interi, non sono determinati campi al loro interno (
interno (SQL=DELETESQL=DELETE).).
Query di aggiornamento. Questo tipo di query apporta
modifiche globali a un gruppo di record di una o più tabelle. Con una query di aggiornamento è possibile modificare i dati di tabelle esistenti (SQL=UPDATE).
Query di accodamento. Questo tipo di query aggiunge un gruppo di record di una o più tabelle alla fine di una o più tabelle.
Anziché digitare nuovamente tutte le informazioni, è possibile accodarle alla propria tabella Clienti (SQL=INSERT).
Query Query di creazione tabella.di creazione tabella. Questo tipo di Questo tipo di query query crea unacrea una
QUERY SQL QUERY SQL
Questo tipo di query viene creato tramite un'istruzione SQL(*).
Il linguaggio SQL (Structured Query Language) consente di eseguire ricerche, aggiornare e gestire database
relazionali, quali i database di Access.
________________________________________________
(*) Istruzione o stringa SQL: espressione che definisce un comando SQL, come SELECT, UPDATE o DELETE e include clausole come WHERE e ORDER BY.
Le stringhe/istruzioni SQL vengono usate tipicamente nelle query e nelle funzioni di aggregazione.
Quando si crea una
Quando si crea una query query in visualizzazione Strutturain visualizzazione Struttura (della
(della queryquery)), vengono costruite parallelamente le, vengono costruite parallelamente le istruzioni SQL equivalenti.
istruzioni SQL equivalenti.
Infatti, per la maggior parte delle proprietà delle Infatti, per la maggior parte delle proprietà delle
query
query disponibili nella finestra delle proprietà indisponibili nella finestra delle proprietà in visualizzazione Struttura esistono proposizioni e visualizzazione Struttura esistono proposizioni e opzioni equivalenti in
opzioni equivalenti in visualizzazione SQLvisualizzazione SQL.. Se lo si desidera, è possibile visualizzare o Se lo si desidera, è possibile visualizzare o
modificare l'istruzione SQL in visualizzazione modificare l'istruzione SQL in visualizzazione SQL. Dopo aver modificato una
SQL. Dopo aver modificato una query query inin
visualizzazione SQL, tuttavia, è possibile che visualizzazione SQL, tuttavia, è possibile che l'aspetto della
l'aspetto della query query risulti diverso rispetto arisulti diverso rispetto a quello visualizzato precedentemente in
quello visualizzato precedentemente in visualizzazione Struttura.
visualizzazione Struttura.
Alcune
Alcune query query SQL, definite SQL, definite query query specifichespecifiche del linguaggio del linguaggio SQLSQL, non possono essere create nella , non possono essere create nella griglia digriglia di
struttura struttura.. Per le
Per le query query di tipo di tipo pass-throughpass-through(1)(1), , le le query query didi definizione dati
definizione dati(2)(2) e le query di unione e le query di unione(3)(3), è necessario, è necessario creare le istruzioni SQL direttamente in visualizzazione creare le istruzioni SQL direttamente in visualizzazione SQL.SQL.
Per le
Per le sottoquerysottoquery(4)(4) le istruzioni SQL vengono immessele istruzioni SQL vengono immesse nella riga
nella riga Campo o nella riga Campo o nella riga CriteriCriteri della griglia di della griglia di struttura della
struttura della queryquery..
______________________________________________________________________________
______________________________________________________________________________
(1)
(1) QQuery uerypass-through: querypass-through: query SQL utilizzata per inviare comandi direttamente a un databaseSQL utilizzata per inviare comandi direttamente a un database server ODBC. Quando si effettua una
server ODBC. Quando si effettua una query query pass-through, si lavora direttamente con lepass-through, si lavora direttamente con le tabelle sul server, anziché ottenere l'elaborazione dei dati da parte del modulo di gestione tabelle sul server, anziché ottenere l'elaborazione dei dati da parte del modulo di gestione di database Microsoft Jet.
di database Microsoft Jet.
(2)
(2) QQuery uerydi definizione datidi definizione dati: Query : Query specifica di SQL che contiene istruzioni in Data Definitionspecifica di SQL che contiene istruzioni in Data Definition Language
Language (DDL) le quali permettono di creare e modificare oggetti del database.(DDL) le quali permettono di creare e modificare oggetti del database.
(3) (3)Query di unione: Query che utilizza l'operatore UNION per combinare i risultati di due o piùQuery di unione: Query che utilizza l'operatore UNION per combinare i risultati di due o più query di selezione.
query di selezione.
(4) (4)Sottoquery: Istruzione SQL SELECT interna a un'altra Sottoquery: Istruzione SQL SELECT interna a un'altra query query di selezione o di azione.di selezione o di azione.
Per fissare le idee procediamo con la creazione di Per fissare le idee procediamo con la creazione di
un esempio sulla tabella
un esempio sulla tabella Libri del databaseLibri del database Biblioteca
Biblioteca..
Abbiamo visto (tra le altre) le modalità per la Abbiamo visto (tra le altre) le modalità per la
creazione di una
creazione di una query query per conoscere tutti i volumiper conoscere tutti i volumi disponibili (che chiameremo
disponibili (che chiameremo DisponibilitàDisponibilità).).
Se lSe l’utente ha, però, bisogno di tutti i volumi editi’utente ha, però, bisogno di tutti i volumi editi da da FeltrinelliFeltrinelli, non dovrà necessariamente, non dovrà necessariamente
modificare la
modificare la query query DisponibilitàDisponibilità inserendo nuoviinserendo nuovi criteri, ma si limiterà a creare una nuova
criteri, ma si limiterà a creare una nuova queryquery Feltrinelli
Feltrinelli che memorizzerà i criteri di selezioneche memorizzerà i criteri di selezione inseriti e li renderà permanenti.
inseriti e li renderà permanenti.
Operando in tal modo, l
Operando in tal modo, l’’utente avrà autente avrà a disposizione tutta una serie di
disposizione tutta una serie di queryquery già impostate
già impostate, pronte per essere, pronte per essere eseguite sulle tabelle del database.
eseguite sulle tabelle del database.
I risultati delle
I risultati delle query query varieranno alvarieranno al variare della tabella
variare della tabella sulla quale sulla quale operano, consentendo all
operano, consentendo all’’utente diutente di avere sempre un output aggiornato.
avere sempre un output aggiornato.
Precedentemente si sono approfonditi i Precedentemente si sono approfonditi i
temi relativi ai
temi relativi ai critericriteri, sottolineando, sottolineando ll’’aspetto procedurale dellaspetto procedurale dell’’inserimentoinserimento
dei criteri nell
dei criteri nell’’ambito di una ambito di una queryquery..
Un esempio è rappresentato dalla Un esempio è rappresentato dalla
creazione di una
creazione di una query query che opera suche opera su più campi e consente di avere una
più campi e consente di avere una risposta a domande del tipo:
risposta a domande del tipo:
EE’’ disponibile il libro edito dalla disponibile il libro edito dalla Mondadori
Mondadori e scritto da R. Stout e scritto da R. Stout??
Tale
Tale query query opera su più campi, ed inopera su più campi, ed in particolare su
particolare su DisponibilitàDisponibilità, , Casa editriceCasa editrice ed ed Autore
Autore, e non genera necessariamente un, e non genera necessariamente un output costituito da un unico record, poiché output costituito da un unico record, poiché
nella nostra biblioteca è molto probabile che nella nostra biblioteca è molto probabile che
sia disponibile più di un unico libro edito sia disponibile più di un unico libro edito
dalla
dalla MondadoriMondadori delldell’’autore autore R. R. StoutStout..
Tali
Tali query query stabiliscono delle stabiliscono delle regoleregole restrittive
restrittive tra i vari criteri che vengonotra i vari criteri che vengono applicati ad altrettanti campi.
applicati ad altrettanti campi.
Ciò vale a dire che nella tabella Ciò vale a dire che nella tabella
troveremo solo i libri che rispettano tutti troveremo solo i libri che rispettano tutti
e tre i criteri.
e tre i criteri.
LL’’elenco dei libri si andrà sfoltendo manelenco dei libri si andrà sfoltendo man mano che si applicano criteri ai vari
mano che si applicano criteri ai vari campi della tabella.
campi della tabella.
Infatti, nell
Infatti, nell’’esempio precedente lesempio precedente l’’outputoutput sarebbe molto più significativo se si
sarebbe molto più significativo se si inserisse tutto
inserisse tutto (o anche parte, attraverso(o anche parte, attraverso ll’’uso del carattere jolly uso del carattere jolly **) ) il titolo del libro.il titolo del libro.
Si riportano a titolo di esempio Si riportano a titolo di esempio varie tabelle che riassumono la varie tabelle che riassumono la selezione effettuata utilizzando più selezione effettuata utilizzando più
criteri:
criteri:
La tabella Libri di partenza
La tabella risultante dall’applicazio ne del criterio sul campo Disponibilità
La tabella risultante dall’applicazione del criterio sulla Casa Editrice e l’Autore
Ovviamente il risultato visibile sarà solo Ovviamente il risultato visibile sarà solo
ll’’ultima tabella, avendo integrato i treultima tabella, avendo integrato i tre criteri in un
criteri in un’’unica unica queryquery..
NellNell’’utilizzo di Microsoft Access per lautilizzo di Microsoft Access per la selezione di record all
selezione di record all’’interno di archivi,interno di archivi, può però nascere l
può però nascere l’’esigenza diesigenza di conoscere l
conoscere l’’esistenza o meno di libriesistenza o meno di libri editi, ad esempio, o da
editi, ad esempio, o da Feltrinelli Feltrinelli o dao da Esse Libri
Esse Libri..
Tale esigenza si riassume Tale esigenza si riassume
nellnell’’inserimento di più criteri applicatiinserimento di più criteri applicati però allo stesso campo (la Casa
però allo stesso campo (la Casa Editrice).
Editrice).
Tale operazione di selezione si effettua Tale operazione di selezione si effettua
attraverso l
attraverso l’’uso di uso di operatori logicioperatori logici, che, che sono di due tipi fondamentali:
sono di due tipi fondamentali:
InclusiviInclusivi
Esclusivi.Esclusivi.
I primi servono per porre una I primi servono per porre una alternativa tra i due o più criteri.
alternativa tra i due o più criteri.
Servono in pratica ad ottenere una Servono in pratica ad ottenere una
selezione di tutti quei record che selezione di tutti quei record che rispettano
rispettano un criterio oppure lun criterio oppure l’’altroaltro..
NellNell’’esempio si utilizzerà un operatoreesempio si utilizzerà un operatore che consenta tale inclusione nell
che consenta tale inclusione nell’’ambitoambito della tabella di output.
della tabella di output.
Essa dovrà contenere tutti i libri che Essa dovrà contenere tutti i libri che sono editi
sono editi siasia dalla dalla Feltrinelli Feltrinelli siasia dalla dalla Esse Libri
Esse Libri..
LL’’inserimento della riga inserimento della riga critericriteri nella struttura nella struttura della
della query query dovrà rispettare la seguentedovrà rispettare la seguente sintassi:
sintassi:
““FeltrinelliFeltrinelli”” OROR ““Esse LibriEsse Libri””, dove, dove OR è l
OR è l’’operatore logico che includeoperatore logico che include o il primo criterio (
o il primo criterio (FeltrinelliFeltrinelli) o il) o il secondo (Esse Libri), ed è la
secondo (Esse Libri), ed è la
traduzione nella lingua inglese del traduzione nella lingua inglese del
nostro
nostro oppureoppure (non esclusivo, come (non esclusivo, come il velil vel latino).latino).
La tabella risultante sarà la seguente:
La tabella risultante sarà la seguente:
UnUn’’ulteriore esigenza di selezione puòulteriore esigenza di selezione può nascere in merito al titolo di un libro che nascere in merito al titolo di un libro che
deve contenere sia la parola
deve contenere sia la parola ““storiestorie”” sia sia la parola
la parola ““ordinariaordinaria””..
In questo caso l
In questo caso l’’operatore logico daoperatore logico da applicare al campo
applicare al campo TitoloTitolo dovrà essere dovrà essere esclusivo
esclusivo, dovrà cioè escludere tutti quei, dovrà cioè escludere tutti quei libri che contengono nel titolo o la sola
libri che contengono nel titolo o la sola parola
parola ““storiestorie”” o la sola parola o la sola parola ““ordinariaordinaria””,, mentre dovrà inserire nell
mentre dovrà inserire nell’’output tutti queioutput tutti quei libri che le contengono entrambe.
libri che le contengono entrambe.
Prima di procedere alla descrizione Prima di procedere alla descrizione
delle modalità d
delle modalità d’’inserimento dei criteri,inserimento dei criteri, si deve sottolineare che, operando su si deve sottolineare che, operando su
di un testo, bisogna considerare la di un testo, bisogna considerare la
posizione
posizione che le parole-criterio hanno che le parole-criterio hanno nellnell’’ambito del titolo.ambito del titolo.
Poiché tale posizione
Poiché tale posizione (all(all’’inizio, tra altreinizio, tra altre parole o alla fine del titolo)
parole o alla fine del titolo) non è non è
necessariamente nota a priori, si necessariamente nota a priori, si
dovranno utilizzare i caratteri jolly
dovranno utilizzare i caratteri jolly ** e e ??(1)(1),, che rendono le parole indipendenti dalla che rendono le parole indipendenti dalla
loro posizione nel testo.
loro posizione nel testo.
____________________________________________________
____________________________________________________
(1) (1) Nel linguaggio SQL standard, i caratteri jolly utilizzati sono invece %Nel linguaggio SQL standard, i caratteri jolly utilizzati sono invece % (al (al posto di *) e
posto di *) e __ (al posto di ?). (al posto di ?).
LL’’inserimento della riga inserimento della riga critericriteri nella struttura nella struttura della
della query query dovrà rispettare la seguentedovrà rispettare la seguente sintassi:
sintassi:
““*storie**storie*”” ANDAND ““*ordinaria**ordinaria*””,, dove
dove ANDAND è l è l’’operatore logicooperatore logico che include sia il primo criterio che include sia il primo criterio
(storie) sia il secondo (storie) sia il secondo
(ordinaria), ed è la traduzione (ordinaria), ed è la traduzione
nella lingua inglese del nostro nella lingua inglese del nostro ee..
La tabella risultante sarà la seguente:
La tabella risultante sarà la seguente:
Altri operatori utilizzabili per selezionare Altri operatori utilizzabili per selezionare
informazioni sono quelli che operano informazioni sono quelli che operano sul sul valore dei dativalore dei dati, confrontandoli con, confrontandoli con
costanti predefinite dall
costanti predefinite dall’’utente.utente.
Questi operatori, facendo sempre riferimento Questi operatori, facendo sempre riferimento
alla nostra biblioteca, consentono di alla nostra biblioteca, consentono di
rispondere a domande del tipo:
rispondere a domande del tipo:
Quali libri della biblioteca sono statiQuali libri della biblioteca sono stati pubblicati prima del 1990?
pubblicati prima del 1990?
Per utilizzare questi operatori è sufficiente Per utilizzare questi operatori è sufficiente
formulare una richiesta di informazioni di formulare una richiesta di informazioni di
questo tipo:
questo tipo:
Di quali libri della biblioteca il valoreDi quali libri della biblioteca il valore del campo (numerico)
del campo (numerico) AnnoAnno è è minore
minore del valore 1990?del valore 1990?
LL’’operatore in oggetto è, infatti iloperatore in oggetto è, infatti il simbolo minore (
simbolo minore (<<), e la sintassi da), e la sintassi da utilizzare all
utilizzare all’’interno della casella criteriinterno della casella criteri sarà (ad esempio):
sarà (ad esempio):
<1990
<1990
LL’’operatore operatore maggioremaggiore ( (>>) si applicherà,) si applicherà, invece, nei casi in cui si ricerchino i libri invece, nei casi in cui si ricerchino i libri
pubblicati dopo il 1990 utilizzando, pubblicati dopo il 1990 utilizzando,
quindi, la sintassi:
quindi, la sintassi:
>1990
>1990
EE’’ possibile utilizzare anche il simbolo possibile utilizzare anche il simbolo == quando si vuole includere nella ricerca quando si vuole includere nella ricerca
ll’’estremo.estremo.
In altri termini, per ricercare In altri termini, per ricercare
nellnell’’archivio i libri pubblicati dal 1990 inarchivio i libri pubblicati dal 1990 in poi, è possibile impostare come ricerca poi, è possibile impostare come ricerca
<=1990
<=1990
oppure, in caso contrario:
oppure, in caso contrario:
>=1990
>=1990
In altri casi, ancora, può essere utile In altri casi, ancora, può essere utile
definire un intervallo di ricerca definire un intervallo di ricerca
attraverso gli operatori attraverso gli operatori
««Between Between ……andand……..»»
Se per ipotesi, cerchiamo libri editi tra il Se per ipotesi, cerchiamo libri editi tra il
1990 e il 1993, la sintassi sarà:
1990 e il 1993, la sintassi sarà:
Between 1990 and 1993Between 1990 and 1993 oppure
oppure >=1990 and <=1993>=1990 and <=1993
Per completare la trattazione degli strumenti Per completare la trattazione degli strumenti logici a disposizione degli utenti di database, logici a disposizione degli utenti di database, è bene precisare che tutti gli operatori (sia di è bene precisare che tutti gli operatori (sia di
confronto che logici) che si sono confronto che logici) che si sono
singolarmente esaminati sono tra loro singolarmente esaminati sono tra loro
componibili
componibili, è cioè possibile creare delle, è cioè possibile creare delle query
query allall’’interno delle quali si possonointerno delle quali si possono effettuare contemporaneamente delle effettuare contemporaneamente delle
selezioni per contenuto e logiche, dando selezioni per contenuto e logiche, dando
cioè la possibilità di effettuare domande del cioè la possibilità di effettuare domande del
tipo : tipo :
EE’’ disponibile il libro edito dalla disponibile il libro edito dalla Mondatori
Mondatori o dalla o dalla FeltrinelliFeltrinelli, scritto da, scritto da R. R. StoutStout, il cui titolo contiene le parole, il cui titolo contiene le parole
storie
storie e e ordinariaordinaria??
Quale sarà, allora, la risposta a questa Quale sarà, allora, la risposta a questa
domanda, in base ai dati presenti domanda, in base ai dati presenti
nellnell’’archivio?archivio?
??
I FILTRI I FILTRI
I I filtrifiltri sono strumenti molto efficaci che sono strumenti molto efficaci che permettono di ottimizzare la
permettono di ottimizzare la
visualizzazione di tabelle risultanti da visualizzazione di tabelle risultanti da
query query..
I I filtrifiltri, in altri termini, consentono di, in altri termini, consentono di isolare, mostrandoli a video, solo i isolare, mostrandoli a video, solo i
record che l
record che l’’utente ha esigenza diutente ha esigenza di vedere, nascondendo tutti gli altri.
vedere, nascondendo tutti gli altri.
Per agevolarne l
Per agevolarne l’’uso, in Microsoftuso, in Microsoft Access esistono dei filtri già presenti Access esistono dei filtri già presenti attivabili attraverso i pulsanti presenti attivabili attraverso i pulsanti presenti
sulla barra degli strumenti:
sulla barra degli strumenti:
Il Il filtro in base a selezionefiltro in base a selezione consente, consente, ad esempio, di isolare tutti quei record il ad esempio, di isolare tutti quei record il cui valore del campo sia uguale a quello cui valore del campo sia uguale a quello
selezionato nel momento in cui si
selezionato nel momento in cui si cliccaclicca sul bottone .
sul bottone .
In questo caso i
In questo caso i record indesideratirecord indesiderati sono tutti quelli non filtrati e, quindi non sono tutti quelli non filtrati e, quindi non
visualizzati.
visualizzati.
Applicando ad esempio alla
Applicando ad esempio alla queryquery Disponibilità
Disponibilità del database del database BibliotecaBiblioteca il il filtro in base a selezione, tenendo il
filtro in base a selezione, tenendo il cursore all
cursore all’’interno del campo interno del campo AutoreAutore (dove questo assume il valore
(dove questo assume il valore Bukowski
Bukowski), spariranno dalla tabella tutti), spariranno dalla tabella tutti i record dei libri i cui autori non sono
i record dei libri i cui autori non sono Bukowski
Bukowski..
Una volta attivato il filtro, sulla barra Una volta attivato il filtro, sulla barra degli strumenti apparirà selezionato il degli strumenti apparirà selezionato il bottone
bottone Applica filtro Applica filtro , che consente, che consente di attivare e disattivare la
di attivare e disattivare la visualizzazione filtrata.
visualizzazione filtrata.
Il Il filtro in base a mascherafiltro in base a maschera, attivabile, attivabile attraverso il pulsante , è più
attraverso il pulsante , è più complesso ed articolato in quanto complesso ed articolato in quanto
consente di operare selezioni incrociate consente di operare selezioni incrociate
operando su più campi.
operando su più campi.
In questo modo l
In questo modo l’’utente può ottenereutente può ottenere una visualizzazione quanto più
una visualizzazione quanto più personalizzata possibile.
personalizzata possibile.
Cliccando
Cliccando sul bottone del filtro in base asul bottone del filtro in base a maschera, si aprirà una finestra in cui maschera, si aprirà una finestra in cui ll’’utente potrà operare la sua scelta perutente potrà operare la sua scelta per
filtrare solo i record di interesse filtrare solo i record di interesse
attraverso i menu a tendina dai quali attraverso i menu a tendina dai quali
potrà scegliere il valore o, potrà scegliere il valore o,
eventualmente i valori, che uno o più eventualmente i valori, che uno o più
campi devono assumere.
campi devono assumere.
Per chiarire il funzionamento Per chiarire il funzionamento applichiamo tali tecniche alla applichiamo tali tecniche alla
query
query DisponibilitàDisponibilità del database
del database BibliotecaBiblioteca..
La finestra sarà strutturata su più La finestra sarà strutturata su più schede (inizialmente
schede (inizialmente CercaCerca ed ed OppureOppure)) poiché per ognuna di queste sarà
poiché per ognuna di queste sarà possibile applicare un differente filtro.
possibile applicare un differente filtro.
NellNell’’esempio ipotizziamo che lesempio ipotizziamo che l’’utenteutente voglia visualizzare tutti i record dei libri voglia visualizzare tutti i record dei libri
che sono scritti da
che sono scritti da Bukowski Bukowski o dao da Guzzanti
Guzzanti o pubblicati dalla Casao pubblicati dalla Casa Editrice
Editrice EsselibriEsselibri..
Si procederà selezionando dal menu Autore della Si procederà selezionando dal menu Autore della
finestra il valore
finestra il valore BukowskiBukowski: si noterà che nella parte: si noterà che nella parte bassa della finestra le schede si sono arricchite di bassa della finestra le schede si sono arricchite di
una nuova voce,
una nuova voce, OppureOppure..
Il passaggio successivo consisterà nel selezionare Il passaggio successivo consisterà nel selezionare
la prima scheda (
la prima scheda (OppureOppure) e, da questa, il valore) e, da questa, il valore Bukowski
Bukowski del campo Autore.del campo Autore.
Il terzo passaggio ricalcherà le precedenti Il terzo passaggio ricalcherà le precedenti
operazioni relativamente al campo Casa Editrice operazioni relativamente al campo Casa Editrice
dal quale si selezionerà il valore
dal quale si selezionerà il valore Esselibri.Esselibri.
Al termine dell
Al termine dell’’inserimento deiinserimento dei
parametri di selezione sarà sufficiente parametri di selezione sarà sufficiente
cliccare
cliccare sul bottone sul bottone Applica FiltroApplica Filtro per per ottenere direttamente la visualizzazione ottenere direttamente la visualizzazione
richiesta, così come mostrato nella richiesta, così come mostrato nella
figura seguente.
figura seguente.
LL’’eventuale eventuale ordinamentoordinamento si ottienesi ottiene molto semplicemente selezionando le molto semplicemente selezionando le
colonne interessate (nella sequenza colonne interessate (nella sequenza
gerarchica desiderata) e quindi gerarchica desiderata) e quindi
premendo il pulsante
premendo il pulsante AA→→ZZ (per (per
ll’’ordinamento crescente) oppure ilordinamento crescente) oppure il pulsante
pulsante ZZ→→AA (per l (per l’’ordinamentoordinamento decrescente).
decrescente).