Cercare i dati in un database Access con le query

di Anna Fabi

3 Febbraio 2009 09:00

La potenza di un database si esprime nella possibiltà di reperire le informazioni in modo semplice e rapido, vediamo come impostare le ricerche su Access 2007

In un precedente tutorial, abbiamo costruito un database per l’archiviazione dei progetti, evidenziando la necessità di un sistema che tenga traccia dei lavori, permetta di archiviarli e riordinarli e di reperirli all’occorrenza.

Nel tutorial precedente abbiamo mostrato come creare il database, questa volta ci occupiamo invece della ricerca dei progetti in base a diversi parametri, attraverso lo strumento delle query.

DB Prodotti con ricerca
scarica l’esempio

Realizzare il Database

Il DB dei progetti consisteva essenzialmente di due tabelle, per i clienti e i progetti, abbinate alle rispettive maschere di inserimento.

Per creare la nostra nuova applicazione, apriamo il file dell’articolo precedente, autorizzandone la gestione da “Attiva il contenuto”, e dalla tab “Crea” clicchiamo su “Struttura query” per generare una nuova interrogazione.

Dalla finestra delle tabelle, aggiungiamo entrambe quelle presenti con un doppio clic su ognuna di esse; nell’area della query saranno anche evidenziate le relazioni fra queste tabelle.

Selezioniamo i campi che devono far parte della query e trasciniamoli nella griglia della query; in particolare, dovremo inserire nell’interrogazione: IdCliente e NomeCliente dalla TabClienti; IdProgetto, IdCliente, CapoProgetto, Personale, DataInizio, DataFine, Memo dalla TabProgetti. Salviamo la query con il nome Interrogazione generica DB.

A questo punto dobbiamo indicare alla query i criteri da utilizzare per effettuare la ricerca nel materiale archiviato: nel nostro caso, potremmo rintracciare tutti i progetti commissionati da un unico cliente, o quelli gestiti da un determinato capo-progetto o seguiti da determinati impiegati; in alternativa potremmo essere interessati a conoscere tutti i progetti che si sono chiusi in un determinato lasso di tempo.

Continuando a lavorare sulla query in modalità struttura, clicchiamo con il tasto destro del mouse sullo sfondo della query, come mostra la figura seguente:

e selezioniamo la voce Parametri per modificarne le proprietà:

Per attivare una ricerca per parola, che peschi nei campi relativi al cliente, alla descrizione del progetto, ai nomi di persona, nella finestra dei parametri e in corrispondenza della colonna Parametro scriviamo “Inserire una parola-chiave per la ricerca” e nella colonna Tipo dati selezioniamo dall’elenco a discesa la tipologia Memo. Clicchiamo su Ok, salviamo la query e chiudiamola.

Per attivare la ricerca, facciamo doppio clic sul nome della query; si aprirà una finestra con un rigo vuoto su cui scrivere la keyword:

Se vi sono record che presentano, all’interno di un campo, la parola immessa, la query li riassumerà in tabella, e questa non risulterà pertanto vuota.

Se vogliamo effettuare una ricerca per date, ovvero estrapolare tutti i progetti avviati o chiusi in un determinato lasso di tempo, procediamo come segue.

Duplichiamo la precedente query: selezionando il nome, la copiamo con Ctrl+C e la incolliamo con Ctrl+V: ci sarà richiesto il nome della nuova query, chiamiamola Interrogazione per date DB.

Apriamo questa query in modalità struttura per modificare i parametri. Posizioniamoci sulla riga Criteri della query, in corrispondenza della colonna DataFine e inseriamo il seguente parametro:

Between [Data iniziale per la ricerca] And [Inserire una data finale per la ricerca]

Ora, come visto in precedenza, apriamo la finestra parametri ed eliminiamo le impostazioni precedenti, clicchiamo su Ok, salviamo la query e lanciamola dal pulsante con il punto esclamativo rosso sulla toolbar.

Si aprirà una finestra che ci chiederà di impostare una data di inizio per la ricerca; quindi una finestra per la data finale dell’intervallo.

Se il lasso di tempo non è errato o nullo, la query sarà popolata dai progetti che si sono chiusi nel periodo di tempo compreso fra le due date immesse.

Non ci resta che organizzare un pannello iniziale, che consenta di accedere alle diverse maschere e alle query.

Da Crea clicchiamo su Struttura maschera e apriamo una maschera vuota, sulla quale aggiungeremo una serie di pulsanti: dal wizard del primo pulsante, scegliamo Operazioni su maschere e Apri maschera; clicchiamo su Avanti e selezioniamo la MClienti; un altro clic su Avanti e scegliamo Apri maschera e mostra tutti i record; di nuovo clic su Avanti, selezioniamo Testo e inseriamo il seguente messaggio: "Apri Maschera di Inserimento Anagrafica Clienti". Un clic su Fine per chiudere il wizard e visualizzare il pulsante.

Ripetiamo la procedura di creazione del pulsante per aprire la MProgetto. Questi passaggi differiscono leggermente se il pulsante deve eseguire la query, perché nel wizard dovremo selezionare Varie ed Esegui query indicando poi nel seguito le query da lanciare.

Quando i pulsanti sono stati creati, salviamo la maschera con il nome “AvvioDB” e impostiamola perché venga lanciata all’apertura del database.

Dall’Office button accediamo alle Opzioni di Access e alla scheda Database corrente; alla voce Visualizza maschera selezioniamo dal menu a discesa AvvioDB.

Chiudiamo il database per rendere effettive le variazioni apportate. Alla nuova apertura del DB, sarà visualizzata la maschera “AvvioDB” dalla quale scegliere quale operazione effettuare.