Descrizione
Creare e gestire una query (Parte II).
Obiettivi della lezione
Saper compilare la griglia QBE; saper utilizzare i campi
calcolati.
Indice lezione
Lezione 14 - Database
14.1
Compilazione della
griglia QBE;
14.2
Selezionare i dati
desiderati;
14.3
I parametri;
14.4
Uso di campi
calcolati;
14.5
Riepilogazione di
dati;
14.6
Esercizio.
Dati sulla lezione
|
Versione: |
v1.0 |
|
Tempi: |
1 ora |
|
Data svolgimento lezione: |
31 Marzo 2003 |
|
Autore dei contenuti: |
Vastapane Marco Attilio – Giuliano Luca |
|
Autore materiali didattici: |
Togni Francesca |
La Teoria
14.1 - Compilazione della griglia QBE
La compilazione della griglia QBE rappresenta
forse la parte più complicata della creazione di una query. Le righe che compaiono
nella griglia dipendono dal tipo di query che si intende realizzare.
Ecco alcune tecniche che si possono usare per il
riempimento delle righe della griglia QBE per una query di selezione.
·
Nella riga Campo,
immettere i campi con i quali si desidera lavorare. Per aggiungere i campi
all’elenco dei campi, utilizzare il metodo del doppio clic o il trascinamento.
Oppure, per richiedere ad Access di visualizzare tutti i campi anche se la
struttura viene modificata, utilizzare l’asterisco (*) come nome di campo.
Oppure fare doppio clic sul nome della tabella per selezionare tutti i campi e
trascinare un campo alla riga Campo (si spostano anche tutti gli altri).
Oppure, per selezionare il campo desiderato, utilizzare l’elenco a discesa
della riga Campo.

·
Nella riga
Ordinamento, scegliere la sequenza di ordinamento desiderata per ciascun campo.
Le opzioni disponibili sono Crescente, Decrescente o (Non ordinato).

14.2 - Selezionare i dati desiderati

Spesso
la ricerca potrebbe essere più complessa, cioè trattare dei range di valori
oppure delle similitudini più che delle uguaglianze tra dati. Un caso potrebbe
essere quello di voler filtrare da una tabella anagrafica solo le persone che
hanno il cognome che inizia per S, oppure non ricordarsi bene se una tale
persona si chiama Simonini o Simonino o Simonina. Per far ciò si devono usare
dei caratteri speciali che Access mette a disposizione. Essi sono l’asterisco
(*) e il punto interrogativo (?).

In questo caso saranno considerati validi tutti i cognomi
che iniziano con la M, indistintamente da quante lettere vengano dopo la
lettera selezionata.

Qui invece sarà possibile ricercare tutti i cognomi che
differiscono solo per una lettera (in questo caso l’ultima).
La formula inizia sempre con Like, che in inglese significa appunto Simile a. Questo tipo di filtro può essere applicato solo ed unicamente ai campi di tipo Testo.
I controlli possono anche avere più di una condizione, naturalmente, quindi si potrebbe aver bisogno di sapere che è nato a Gattinara nel 1969, oppure chi abita a Biella e si chiama Alberto. Per far ciò basta impostare le varie condizioni nei campi corrispondenti nella riga Criteri.

Per poter
creare l’altra query, invece si avrà bisogno di alcuni operatori e connettori
logici.

Gli operatori logici utilizzabili nell’impostazione delle query, sono i seguenti:
= Uguale
> Maggiore
< Minore
>= Maggiore o Uguale
<= Minore o Uguale
<> Diverso
Gli operatori logici invece sono:
And Tutte le condizioni devono essere vere
Or Almeno una condizione deve essere vera
Not E’ l’inverso della condizione
Nel caso raffigurato la data deve essere compresa tra il primo gennaio del 1969 e il 31 dicembre del 1969., quindi entrambe le condizioni devono essere rispettate, ragion per cui tra le due è stato posto un And.
Attraverso gli esempi che si sono trattati prima, è stato
possibile creare delle query con valori costanti. Se si volesse inserire di
volta in volta un valore diverso, allora bisognerebbe utilizzare un parametro.
Access gestisce questo oggetto collocandolo tra due parentesi quadre ([ … ])
all’interno della griglia QBE.

Nel seguente caso è stato impostato come parametro il Comune
di nascita, in modo da decidere ad ogni esecuzione della query, quale filtrare.
Cliccando sul pulsante Visualizza
si aprirà una
finestra di dialogo che riporterà la stessa frase inserita tra le parentesi.

Ora sarà possibile digitare il nome del comune desiderato e
dare l’OK per ottenere i valori.
Per creare un campo calcolato, fare clic su una
cella Campo vuota della griglia QBE e immettere un’espressione che effettua il
calcolo. Se si fa riferimento ad altri campi della griglia QBE, non si deve
dimenticare di racchiudere i nomi tra parentesi quadre. Se più campi della
query hanno lo stesso nome, si deve specificare sia il nome della tabella sia
il nome del campo utilizzando il formato [NomeTabella]![nomeCampo].

I calcoli di riepilogo differiscono dai campi
calcolati per il fatto che calcolano un determinato valore, come, ad esempio,
una somma o una media, su più record di
una tabella.
Per eseguire un calcolo di riepilogo:
1.
Iniziare con la
creazione di una normale query di selezione. Trascinare nella griglia QBE i
campi in base ai quali si desidera effettuare il raggruppamento o sui quali si
desidera eseguire i calcoli. Non si deve includere l’asterisco (*) come nome di
campo nella griglia QBE.
2.
Fare clic sul
pulsante Totali della barra degli strumenti. Compare una nuova riga di totali,
con l’indicazione Raggruppamento in
ciascuna colonna.

3.
Lasciare la riga
Formula impostata per il Raggruppamento dei
campi che si desiderano usare per il raggruppamento (oppure per la distinzione
in categorie o per l’effettuazione dei totali parziali).

4.
Nella cella Formula
riservata al campo o ai campi che si desiderano riepilogare, scegliere una
delle opzioni di riepilogo.
5.
Aggiungere, se
necessario, campi calcolati, specifiche di ordinamento e criteri di selezione.
Quindi...
·
Se si sono aggiunti
criteri di selezione alle colonne in base alle quali non si vuole effettuare il
raggruppamento, modificare la cella Formula per quelle colonne in Dove.
·
Se si sono creati
campi calcolati in colonne in base alle quali non si vuole effettuare il
raggruppamento, modificare la cella Formula per quelle colonne in Espressione.
6. Per visualizzare il risultato, fare clic sul pulsante della barra degli strumenti Visualizzazione Query.
La Pratica
Creare la seguente tabella
Nome: ELENCOVINI
NomeVino Testo 100 caratteri
Vigneto Testo 100 caratteri
Annata Numerico intero
TipoVino Testo 50 caratteri
Colore Testo 50 caratteri
Dati i seguenti valori ricavare:

Selezionare dal menù di sinistra la voce query e fare doppio click su “Creazione di una query in visualizzazione struttura”, apparirà la finestra QBE (Query By Example) in cui è necessario scegliere su quale tabella si vuole operare.
Fare doppio click su “ElencoVini” e premere “Chiudi”; la tabella verrà automaticamente inserita nell’area grigia in alto.
Selezionare i campi “NomeVino” e “Colore” e trascinarli nella griglia bianca sotto la tabella, che si riempirà in automatico, senza creare nessun tipo di filtro o di ordinamento.
Per poter contare i vini è
necessario attivare, dal menù struttura query, l’opzione Totali contrassegnata
dal simbolo di sommatoria
.
Nella griglia apparirà una nuova riga con la dicitura “Formula” che porrà per ogni campo la voce “Raggruppamento”.
A questo punto basterà posizionarsi con il mouse sul lato destro della cella e fare un click per poter scegliere tra le varie operazioni a disposizione. In corrispondenza del campo “NomeVino” scegliere “Conteggio”.

Per visualizzare il risultato della
query cliccare sull’icona “Visualizzazione Foglio dati”
.
Il risultato che si otterrà sarà una tabella contenete i seguenti dati

Ora è necessario risolvere la seconda parte dell’esercizio.
Per poterlo fare comporre in visualizzazione struttura la griglia QBE con i campi “Annata” e “TipoVino”.
Dopo averli raggruppati impostare nella cella Formula in coincidenza con il campo “Annata“ la dicitura Min, e con il campo “TipoVino” Raggruppamento, e aggiungere nella cella Criteri “Chianti”.

Salvare ora la query con il nome “Trova_Minimo” e chiuderla.
Riaprire una nuova query in visualizzazione struttura e scegliere dall’elenco delle tabelle “ElencoVini” e dall’elenco delle query “Trova_Minimo”.
Mettere in relazione i due insiemi tramite i campi “Annata” e “TipoVino” con “MinDiAnnata” e “TipoVino” creando un JOIN INTERNO.

Cliccando sul pulsante Esegui si otterrà il seguente risultato:
![]()
Non è obbligatorio inviare l’esercizio al tutor.
Feedback
Per
chiarimenti, si prega di lasciare la domanda direttamente sul Forum della
piattaforma Maestra.