pres.xml
27 Gennaio 2019Incontro con Andrea G. Pinketts
27 Gennaio 2019per la patente europea del computer ACCESS
REPERIRE INFORMAZIONI
Esistono diversi modi per porre domande ad un database di Access e per reperire i dati desiderati, sia in una Tabella, in Visualizzazione Foglio dati, che in una Maschera:
- Con la voce di menù Modifica – Trova si possono trovare record, ad uno alla volta, che contengano un valore indicato; si possono anche sostituire ai valori individuati altri valori. Il valore da individuare può rappresentare il contenuto completo o parziale di un campo: ad esempio, non ricordandomi se Hesse abbia o no la e finale posso impostare il valore Hess in Trova e inserire nella casella Confronta Parte del campo”.
- Attraverso i Filtri, che compaiono nella voce di menù Record, si possono selezionare sottoinsiemi di record che rispettano i criteri impostati.
Esistono tre principali tipi di filtri:
- Filtro in base a selezione – seleziona tutti i record in cui compare il valore contenuto nel campo su cui si ha il fuoco, quindi per selezionare tutti i libri di Hesse nella tabella Libri, evidenziare Hesse in uno qualsiasi dei record che lo contengono
- Filtro in base a maschera – permette di selezionare il valore da ricercare, dall’elenco dei dati contenuti in ogni campo, senza dover scorrere tutti i record o doverlo ricercare con la funzione Trova. Prima di applicare il filtro si possono impostare criteri su più campi e anche di tipo logico, cioè, ad esempio, posso selezionare tutti i libri di un certo autore che costano meno di un certo prezzo
- Filtro avanzato – permette di impostare criteri di scelta avanzati: diversi criteri, su più campi, e inframmezzati da AND oppure da OR, come vedremo anche per le query. Il filtro avanzato può essere visto come una particolare query su una sola tabella
Fig. 8
-
Con l’oggetto di database Query – sicuramente lo strumento di ricerca più completo e avanzato e di cui sono a disposizione diverse tipologie:
-
Query di selezione
-
Query di comando
-
Query con parametri
-
Query a campi incrociati
Le query di selezione rappresentano il tipo più comune: reperiscono i dati richiesti dalla tabella, o dalle tabelle poste in relazione, in cui si trovano, e mandano i risultati a schermo in un foglio dati.
Riproducono esattamente la situazione dei dati nel momento in cui la richiesta viene posta, quindi la stessa query oggi può restituire un certo recordset di risposta e domani, dopo un aggiornamento dei dati, un altro.
Anche le query sia possono creare con lAutocomposizione, che però rappresenta uno strumento un po rigido, per le query di selezione in particolar modo, vista la grande varietà di query che si possono creare e l’impossibilità di impostare criteri nella fase di autocomposizione.
LAutocomposizione è consigliabile invece per query più complesse, quali ad esempio, le query a campi incrociati.
Solitamente, dopo aver, come sempre, cliccato sul pulsante Nuovo, si sceglie Visualizzazione Struttura e, si comincia a costruire la domanda”.
Per costruire una query si devono seguire le seguenti fasi
1. Individuare le tabelle di cui fanno parte tutti i dati che serve analizzare, o su cui comunque si devono impostare dei criteri,e selezionarle
2. Controllare che le Relazioni tra le tabelle selezionate siano impostate nel modo corretto
3. Riportare nella parte inferiore della Struttura Query i campi che servono
4. Impostare i Criteri
5. Passare alla Visualizzazione Foglio dati per controllare i risultati
tra tabelle. La relazione più diffusa è quella Uno a Molti, che significa che ad un record in una tabella ne corrispondono molti nell’altra (un autore ha scritto molti libri). . Per impostare la relazione tra due tabelle, come le nostre tabelle Autori e Libri, è necessario inserire la chiave primaria della tabella che ha un record nell’altra che ne ha molti. Nelle nostre tabelle la relazione è stata impostata automaticamente con lAutocomposizione ricerca, ma può essere anche stabilita attraverso la Finestra Relazioni, con la voce di menù Strumenti – Relazioni, trasferendo le tabelle in questa finestra e trascinando la chiave primaria della tabella che ha il record uno” (Autori) sulla chiave esterna corrispondente della tabella che ha i record molti” (Libri), come si vede nella Figura 9. Le altre relazioni Uno a uno e Molti a Molti sono meno diffuse e stabiliscono relazioni in cui a un record in una tabella ne corrisponde uno e uno solo nell’altra, oppure in cui a molti record in una tabella ne corrispondono molti nell’altra.
Fig. 9
Una query può essere salvata (con un nome che esprima la natura della query, possibilmente!) e quindi riutilizzata, semplicemente aprendola.
Modificando i dati in una query si agisce direttamente sulla tabella da cui i dati sono stati estratti, quindi queste vengono utilizzate, oltre che per visionare ed analizzare i dati, anche per aggiornarli.
Le query possono costituire, come le tabelle, la base per maschere e report.
La caratteristica peculiare della query con parametri è rappresentata dalla personalizzazione dei criteri: all’apertura della query (o della maschera o del report basati su di essa) una finestra di dialogo richiede l’inserimento delle informazioni che andranno a costituire il criterio di scelta, ad esempio si può voler stabilire di volta in volta relativamente a quale nazione estrarre dei dati, si farà comparire quindi una finestra con il messaggio Inserisci nazione” e la nazione digitata si andrà a inserire nella query al posto dei criteri.
I caratteri jolly, quali ad esempio *, sostituiscono, nei criteri, altri caratteri o gruppi di caratteri, ad esempio se conosco solo l’iniziale C” del nome, posso impostare nei criteri C*”, e in risposta avrò tutti i nomi che iniziano per C. Nella Tabella 2 sono riportati alcuni esempi di impostazione di criteri.
In una query posso anche creare dei campi calcolati, sulla base di quelli presenti nelle tabelle e utilizzando sia le funzioni matematiche che quelle messe a disposizione dallapplicativo e che agiscono ad esempio su testo e date.
Tutti i criteri che si scrivono su una stessa riga sono divi dal connettivo AND, quelli su righe diverse da OR.
Posso applicare anche alla query, che in genere mi dà già dati filtrati, un ulteriore filtro, nello stesso modo e con le stesse caratteristiche definite per le tabelle.
Spesso può essere utile poter ordinare i dati, e questo può anche facilitare la ricerca. Sia in una tabella, che in una query o direttamente in Visualizzazione struttura o in Visualizzazione Foglio dati
Tab. 2
Obiettivo |
Espressione |
Risultato |
Libri che iniziano con S” |
Nel campo Titolo: Like “s*” |
Siddharta |
Autori il cui nome finisce per i” |
Nel campo Autore: Like “*i” |
Camilleri |
Libri con prezzo da 10.000 a 20.000 escluso |
Nel campo Prezzo: Like “1#000” (# indica 1 solo carattere numerico) oppure Between 10000 and 19999 |
Tutti i libri |
Tutti i record della tabella Libri di cui non sia stata inserita la data di acquisto |
Nel campo DataAcquisto Is Null (Invece Is Not Null mi indica i campi con un valore inserito) |
Nessun record |
I libri acquistati da più 30 giorni |
Nel campo DataAcquisto: <Date() – 30 ( < vale, oltre che con i numeri, anche con date e testo; date() indica la data odierna, – 30 indica 30 giorni fa) |
Siddharta e Tatuaggio |
Autori non italiani |
Nel campo Nazione: Not Italia” (Va bene anche <> Italia”) |
Hesse e Vasquez Montalban |
Per altri casi specifici si consulti lHelp.
ESERCITAZIONE 3. Operazioni di base e avanzate
· Aprite il file biblioteca.mdb (se non avete fatto gli esercizi precedenti, scaricatelo qui
· Aprite la tabella Libri
· Incominciamo ad operare una ricerca con il menu file -> trova
· Cercate tutti i valori nella tabella che contengano h”: scrivete h” in Trova e mettete in Confronta Parte del campo”. Cliccate su Trova successivo finché non comparirà Ricerca terminata (ricordatevi che occorre cercare in tutta la tabellae non in una sola colonna)
· Cercate ora i valori che abbiano h” all’inizio del campo: sostituite Inizio campo” in Confronta
· Chiudete la finestra Trova e sostituisci
· E’ il momento di fare una ricerca con i filtri. Cliccate sul pulsantino Filtra da maschera (o Filtro in base a maschera) e scegliete i libri acquistati da meno di 1 mese e che costano più di L.15.000: digitate nel campo DataAcquisto >#05/01/02# e nel campo Prezzo >15.000
· Cliccate sul pulsante con l’imbuto per applicare il filtro
· Chiudete la finestra Tabella Libri salvando le modifiche
· Creiamo ora una semplice query: ad esempio vogliamo vedere tutti i record (tranne gli ID)di entrambe le tabelle
· Selezionate l’oggetto query, quindi Nuovo e Visualizzazione struttura
· Aggiungete le due tabelle nello spazio grigio superiore, che apparirà come nell’immagina qui a fianco
· Selezionate (con un doppioclic sul nome del campo o trascinando il campo dalla tabellina allo spazio di fianco a Campo oppure direttamente dalla casella combinata nella riga Campo) i sei campi Autore, Nazione (tabella autori), Titolo, DataAcquisto, Prezzo, Genere (dalla tabella libri)
· Passate ora in visualizzazione Foglio dati e vedete il risultato
· Salvate la query con il nome Riepilogo: da File – salva
· Chiudete la query e quindi riapritela sempre in Visualizzazione Foglio dati cliccando su Apri, con la query evidenziata
· Applicate alla query il filtro che evidenzia i record di Autori non Tedeschi (Italia or Spagna), con prezzo minore di L.15.000
· Togliete il filtro
· Passate in Visualizzazione struttura e selezionate il titolo e la data di acquisto, relativi o a libri di Camilleri oppure che siano romanzi: digitate Camilleri” sotto ad Autore nella riga “Criteri” e “Romanzo” nella colonna “generi”
· Togliete quindi il check di Mostra a tutti i campi che non siano i due richiesti
· Chiudete la query senza salvare le modifiche
· Creiamo ora una query in cui posso calcolare quanto pagherei i libri nell’altra libreria in cui non mi applicano lo sconto Fedeltà del 10%, come fanno nella mia, e quindi aggiungiamo i campi calcolati Prezzo maggiore e Cifra risparmiata, tenendo solo Titolo e Prezzo.
· Apriamo la query Riepilogo in Visualizzazione Struttura e, dopo aver cancellato la tabella autori dallo spazio superiore, vediamo sparire i campi Autore e Nazione.
· Chiudiamo la query e il database e confrontiamolo con il seguente file di soluzione.
IN QUESTA ESERCITAZIONE HAI IMPARATO A…
Trovare un record sulla base dei criteri assegnati
Creare una semplice query
Salvare una query
Applicare dei filtri a una query
Rimuovere dei filtri da una query
Aggiungere campi ad una query
Eliminare campi da una query
Ricercare, selezionare e ordinare dati
continua