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

Come già detto, l’uso principale delle query è quello di filtrare i dati dalle tabelle. Per far ciò si utilizza la riga Criteri, la quale conterrà i valori per cui filtrare i dati. Si supponga ad esempio di voler selezionare solo le persone nate a Gattinara. Per impostare questa query basterà scrivere “Gattinara” nella riga Criteri sotto il campo comune.

 

Access non è case-sensitive, cioè non fa distinzioni tra Maiuscolo e Minuscolo, quindi si poteva scrivere anche “gattinara” e il risultato non sarebbe cambiato. Ogni tipo di campo dovrà sottostare a ben determinate regole. .

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.

 

 

14.3  -  I parametri

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.

 

 

14.4  -  Uso di campi calcolati

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 dimentica­re 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].

 

 

14.5  -  Riepilogazione di dati

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

14.6  -  Esercizio.

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.