L'uso di una query semplifica la visualizzazione, l'aggiunta, l'eliminazione o la modifica dei dati nel database di Access. Altri motivi per usare le query:
Trovare rapidamente dati specifici filtrando in base a criteri specifici (condizioni)
Calcolare o riepilogare i dati
Automatizza le attività di gestione dei dati, ad esempio la revisione ricorrente dei dati più recenti.
Le query consentono di trovare e usare i dati
In un database ben progettato, i dati che si vogliono presentare tramite una maschera o un report sono in genere suddivisi tra più tabelle. Una query può estrarre le informazioni da varie tabelle e assemblarle per la visualizzazione nella maschera o nel report. Una query può essere una richiesta di risultati dei dati dal database o di un'azione sui dati o di entrambi. Una query può fornire una risposta a una domanda semplice, eseguire calcoli, combinare dati da tabelle diverse, aggiungere, modificare o eliminare dati da un database. Poiché le query sono così versatili, esistono molti tipi di query e si dovrebbe creare un tipo di query in base all'attività.
| Principali tipi di query | Uso |
|---|---|
| Selezione | Recuperare dati da una tabella o effettuare calcoli. |
| Comando | Aggiungere, modificare o eliminare dati. Per ogni attività esiste un tipo specifico di query di comando. |
Creare una query di selezione
Se si vogliono esaminare solo determinati campi di una tabella o i dati di più tabelle contemporaneamente o semplicemente visualizzare i dati in base a determinati criteri, scegliere un tipo di query selezionato. Per altre informazioni, vedere Creare una query di selezione semplice.
Esaminare i dati da campi selezionati
Se, ad esempio, nel database è presente una tabella contenente molte informazioni sui prodotti e si vuole esaminare un elenco di prodotti e i relativi prezzi, creare una query di selezione per restituire solo i nomi dei prodotti e il rispettivo prezzo:
- Aprire il database e nella scheda Crea fare clic su Struttura query.
- Nella scheda Tabelle fare doppio clic sulla tabella Prodotti .
- Nella tabella Prodotti si supponga di avere campi Nome prodotto e Prezzo di listino. Fare doppio clic su Nome prodotto e Prezzo di listino per aggiungere questi campi alla griglia di struttura della query.
- Nella scheda Struttura query fare clic su Esegui. La query viene eseguita e visualizza un elenco di prodotti con i relativi prezzi.
Inizio pagina
Esaminare contemporaneamente i dati di più tabelle correlate
Se, ad esempio, si dispone di un database per un negozio che vende prodotti alimentari e si vogliono rivedere gli ordini dei clienti che risiedono in una determinata città. Si supponga che i dati relativi agli ordini e ai clienti siano archiviati rispettivamente in due tabelle denominate Clienti e Ordini. Se ogni tabella ha un campo ID cliente, che costituisce la base di una relazione uno-a-molti tra le due tabelle. È possibile creare una query che restituisca gli ordini dei clienti di una determinata città, ad esempio Las Vegas, utilizzando la procedura seguente:
- Aprire il database. Nel gruppo Query della scheda Crea fare clic su Struttura query.
- Nella scheda Tabelle fare doppio clic su Clienti e ordini.
Si noti la linea denominata join che connette il campo ID della tabella Clienti e il campo ID cliente della tabella Ordini. Questa riga mostra la relazione tra le due tabelle. - Nella tabella Clienti fare doppio clic su Società e Città per aggiungere questi campi alla griglia di struttura della query.
- Nella colonna Città della griglia di struttura della query deselezionare la casella di controllo nella riga Mostra .
- Nella riga Criteri della colonna Città digitare Las Vegas.
Se si deseleziona la casella di controllo Mostra , la query non visualizzerà la città nei risultati e digitando Las Vegas nella riga Criteri si specifica che si vogliono visualizzare solo i record il cui valore del campo Città è Las Vegas. In questo caso, la query restituisce solo i clienti che si trovano a Las Vegas. Non è necessario visualizzare un campo per usarlo con un criterio. - Nella tabella Ordini fare doppio clic su ID ordine e Data ordine per aggiungere questi campi alle due colonne successive della griglia di struttura della query.
- Nel gruppo Risultati della scheda Struttura query fare clic su Esegui. La query viene eseguita e quindi visualizza un elenco di ordini per i clienti di Las Vegas.
- Premere MAIUSC+INVIO per salvare la query.
Inizio pagina
Creare una query con parametri
Se si vogliono eseguire spesso varianti di una particolare query, è consigliabile usare una query con parametri. Quando si esegue una query con parametri, viene chiesto di specificare i valori dei campi e quindi vengono usati per creare i criteri per la query.
Continuando dall'esempio precedente in cui si è imparato a creare una query di selezione che restituisce gli ordini per i clienti che si trovano a Las Vegas, è possibile modificare la query di selezione in modo che venga richiesto di specificare la città ogni volta che si esegue la query. Per seguire la procedura, aprire il database creato nell'esempio precedente:
Nel riquadro di spostamento fare clic con il pulsante destro del mouse sulla query denominata Ordini per città (creata nella sezione precedente) e quindi scegliere Visualizzazione Struttura dal menu di scelta rapida.
Nella griglia di struttura della query, nella riga Criteri della colonna Città, eliminare Las Vegas e quindi digitare [Per quale città?].
La stringa [Per quale città?] è il prompt dei parametri. Le parentesi quadre indicano che si vuole che la query richieda input e il testo (in questo caso, Per quale città?) è la domanda visualizzata dal prompt dei parametri.Nota
Né un punto (.) né un punto esclamativo (!) possono essere utilizzati come testo in una richiesta di parametri.
Selezionare la casella di controllo nella riga Mostra della colonna Città, in modo che nei risultati della query venga visualizzata la città.
Nel gruppo Risultati della scheda Struttura query fare clic su Esegui. La query chiede di immettere un valore per Città.
Digitare New York e quindi premere INVIO per visualizzare gli ordini per i clienti a New York.
Cosa fare se non si sa quali valori è possibile specificare? Puoi usare i caratteri jolly come parte della richiesta:Nel gruppo Visualizzazioni della scheda Home fare clic su Visualizza, quindi su Visualizzazione Struttura.
Nella griglia di struttura della query, nella riga Criteri della colonna Città , digitare Like [Per quale città?]&"*".
In questo prompt dei parametri, la parola chiave Like , la e commerciale (&) e l'asterisco (*) racchiusi tra virgolette consentono all'utente di digitare una combinazione di caratteri, inclusi caratteri jolly, per restituire una varietà di risultati. Ad esempio, se l'utente digita *, la query restituisce tutte le città, se l'utente digita L, la query restituisce tutte le città che iniziano con la lettera "L" e se l'utente digita *s*, la query restituisce tutte le città che contengono la lettera "s".Nel gruppo Risultati della scheda Struttura query fare clic su Esegui, quindi al prompt della query digitare Nuovo e premere INVIO.
La query viene eseguita e quindi visualizza gli ordini per i clienti di New York.
Specificare i tipi di dati del parametro
È anche possibile specificare il tipo di dati che dovrà essere accettato da un parametro. Si può impostare il tipo di dati per qualsiasi parametro, ma è particolarmente importante impostare il tipo di dati per i dati numerici, valuta o data/ora. Quando si specifica il tipo di dati che dovrà essere accettato da un parametro, gli utenti vedranno un messaggio di errore più utile qualora immettano il tipo di dati non corretto, ad esempio testo quando è prevista una valuta.
Se si imposta un parametro affinché accetti dati di testo, qualsiasi tipo di input verrà interpretato come testo e non verranno visualizzati messaggi di errore.
Per specificare il tipo di dati per i parametri in una query, usare la procedura seguente:
- Con la query aperta in visualizzazione Struttura, nel gruppo Mostra/Nascondi della scheda Struttura query fare clic su Parametri.
- Nella colonna Parametro della finestra di dialogo Parametri query digitare la richiesta per ogni parametro per cui si desidera specificare il tipo di dati. Assicurarsi che ogni parametro corrisponda alla richiesta che si desidera utilizzare nella riga Criteri della griglia di struttura della query.
- Nella colonna Tipo di dati selezionare il tipo di dati per ogni parametro.
Per altre informazioni, vedere Utilizzo di parametri per richiedere input durante l'esecuzione di una query.
Inizio pagina
Creare una query di totalizzazione
La riga Totale in un foglio dati è molto utile, ma per le domande più complesse si usa una query di totalizzazione. Una query di totalizzazione è una query di selezione che consente di raggruppare e riepilogare i dati, ad esempio quando si vogliono visualizzare le vendite totali per prodotto. In una query di totalizzazione è possibile usare la funzione Sum (una funzione di aggregazione) per visualizzare le vendite totali per prodotto.
Utilizzare la procedura seguente per modificare la query sui subtotali dei prodotti creata nell'esempio precedente in modo che riepiloghi i subtotali dei prodotti per prodotto.
- Nella scheda Home fare clic su Visualizza>visualizzazione Struttura.
La query Subtotali prodotto viene aperta in visualizzazione Struttura. - Nel gruppo Mostra/Nascondi della scheda Struttura query fare clic su Totali.
La riga Totali viene visualizzata nella griglia di struttura della query.
Nota
Anche se hanno nomi simili, la riga Totali nella griglia di struttura e la riga Totale in un foglio dati non sono uguali:
- È possibile raggruppare in base ai valori di campo usando la riga Totali nella griglia di struttura.
- È possibile aggiungere una riga Totale del foglio dati ai risultati di una query di totalizzazione.
- Quando si usa la riga Totali nella griglia di struttura, è necessario scegliere una funzione di aggregazione per ogni campo. Se non si vuole eseguire un calcolo su un campo, è possibile raggruppare per campo.
- Nella seconda colonna della griglia di struttura, nella riga Totale , selezionare Somma dall'elenco a discesa.
- Nel gruppo Risultati della scheda Struttura query fare clic su Esegui. La query viene eseguita e quindi visualizza un elenco di prodotti con i subtotali.
- Premere MAIUSC+INVIO per salvare la query. Lasciare aperta la query.
Per altre informazioni, vedere Visualizzare totali di colonna in un foglio dati usando una riga Totali.
Inizio pagina
Eseguire calcoli in base ai dati
In genere le tabelle non vengono usate per archiviare valori calcolati, ad esempio i subtotali, anche se sono basate su dati nello stesso database, perché i valori calcolati possono diventare obsoleti se cambiano i valori su cui si basano. Ad esempio, non memorizzeresti l'età di qualcuno in una tabella, perché ogni anno dovresti aggiornare il valore; In questo caso, si archivia la data di nascita della persona e quindi si usa una query per calcolare l'età della persona.
Ad esempio, se hai un database per alcuni prodotti che vuoi vendere. Questo database contiene una tabella denominata Dettagli ordini che contiene informazioni sui prodotti in campi quali il prezzo di ogni prodotto e le quantità. È possibile calcolare il subtotale usando una query che moltiplica la quantità di ogni prodotto per il prezzo unitario di quel prodotto, moltiplica la quantità di ogni prodotto per il prezzo unitario e lo sconto relativo a quel prodotto e quindi sottrae lo sconto totale dal prezzo unitario totale. Se è stato creato il database di esempio nell'esempio precedente, aprirlo e seguire le istruzioni:
- Nella scheda Crea fare clic su Struttura query.
- Nella scheda Tabelle fare doppio clic su Dettagli ordine.
- Nella tabella Dettagli ordine fare doppio clic su ID prodotto per aggiungere questo campo alla prima colonna della griglia di struttura della query.
- Nella seconda colonna della griglia fare clic con il pulsante destro del mouse sulla riga Campo e quindi scegliere Zoom dal menu di scelta rapida.
- Nella casella Zoom digitare o incollare quanto segue: Subtotale: ([Quantità]*[Prezzo unitario])-([Quantità]*[Prezzo unitario]*[Sconto])
- Fare clic su OK.
- Nella scheda Struttura query fare clic su Esegui. La query viene eseguita e quindi visualizza un elenco di prodotti e subtotali per ogni ordine.
- Premere CTRL+S per salvare la query e quindi denominarla Subtotali prodotto.
Per altre informazioni, vedere Visualizzare totali di colonna in un foglio dati usando una riga Totali.
Inizio pagina
Visualizzare dati riepilogati o aggregati
Quando si usano le tabelle per registrare transazioni o archiviare dati numerici che si verificano regolarmente, è utile poter rivedere tali dati in forma aggregata, ad esempio somme o medie. In Access è possibile aggiungere una riga Totali a un foglio dati. La riga Totale è una riga nella parte inferiore del foglio dati che può visualizzare un totale parziale o un altro valore aggregato.
- Eseguire la query sui subtotali dei prodotti creata in precedenza e lasciare i risultati aperti in visualizzazione Foglio dati.
- Nella scheda Home fare clic su Totali. Nella parte inferiore del foglio dati verrà visualizzata una nuova riga con la parola Totale nella prima colonna.
- Fare clic sulla cella nell'ultima riga del foglio dati denominata Totale.
- Fare clic sulla freccia per visualizzare le funzioni di aggregazione disponibili. Poiché la colonna contiene dati di testo, sono disponibili solo due opzioni: Nessuno e Conteggio.
- Selezionare Conta. Il contenuto della cella cambia da Totale a Conteggio dei valori di colonna.
- Fare clic sulla cella adiacente (la seconda colonna). Si noti che nella cella compare una freccia.
- Fare clic sulla freccia e quindi su Somma. Nel campo verrà visualizzata la somma dei valori della colonna.
- Lasciare aperta la query in visualizzazione Foglio dati.
Inizio pagina
Creare una query a campi incrociati
Supponiamo ora di voler esaminare i subtotali dei prodotti, ma anche di voler aggregare per mese, in modo che ogni riga mostri i subtotali di un prodotto e ogni colonna mostri i subtotali dei prodotti per un mese. Per visualizzare i subtotali di un prodotto e i subtotali dei prodotti per un mese, usare una query a campi incrociati.
È possibile modificare nuovamente la query Subtotali prodotto in modo che la query restituisca righe di subtotali prodotto e colonne di subtotali mensili.
- Nel gruppo Visualizzazioni della scheda Home fare clic su Visualizza, quindi su Visualizzazione Struttura.
- Nel gruppo Imposta query fare clic su Aggiungi tabelle.
- Fare doppio clic su Ordini e quindi su Chiudi.
- Nel gruppo Tipo di querydella scheda Struttura query fare clic su Campi incrociati. Nella griglia di struttura, la riga Mostra viene nascosta e viene visualizzata la riga Campi incrociati .
- Nella terza colonna della griglia di struttura fare clic con il pulsante destro del mouse sulla riga Campo e quindi scegliere Zoom dal menu di scelta rapida. Viene visualizzata la finestra Zoom .
- Nella casella Zoom digitare o incollare quanto segue: Mese: "Month " & DatePart("m", [Order Date])
- Fare clic su OK.
- Nella riga a campi incrociati selezionare i valori seguenti dall'elenco a discesa: Intestazione di riga per la prima colonna, Valore per la seconda colonna e Intestazione di colonna per la terza colonna.
- Nel gruppo Risultati della scheda Struttura query fare clic su Esegui. La query viene eseguita e quindi visualizza i subtotali dei prodotti, aggregati per mese.
- Premere MAIUSC+INVIO per salvare la query.
Per altre informazioni sulle query a campi incrociati, vedere Semplificare la lettura dei dati di riepilogo usando una query a campi incrociati.
Inizio pagina
Creare una query di creazione tabella
È possibile usare una query di creazione tabella per creare una nuova tabella dai dati archiviati in altre tabelle.
Si supponga, ad esempio, di voler inviare i dati degli ordini di Chicago a un partner commerciale di Chicago che usa Access per preparare report. Invece di inviare tutti i dati degli ordini, si desidera limitare i dati inviati ai dati specifici degli ordini di Chicago.
È possibile creare una query di selezione contenente i dati dell'ordine Chicago e quindi usare la query di selezione per creare la nuova tabella usando la procedura seguente:
Aprire il database di esempio dell'esempio precedente.
Per eseguire una query di creazione tabella, potrebbe essere necessario abilitare il contenuto del database.Nota
Se sotto la barra multifunzione viene visualizzato un messaggio che informa dell'abilitazione del database, fare clic su **Abilita contenuto.**Se il database si trova già in un percorso attendibile, non verrà visualizzata la barra dei messaggi.
Nel gruppo Query della scheda Crea fare clic su Struttura query.
Fai doppio clic su Dettagli ordine e Ordini.
Nella tabella Ordini fare doppio clic su ID cliente e Città spedizione per aggiungere questi campi alla griglia di struttura.
Nella tabella Dettagli ordine fare doppio clic su ID ordine, ID prodotto, Quantità, Prezzo unitario e Sconto per aggiungere questi campi alla griglia di struttura.
Nella colonna Città della nave della griglia di struttura deselezionare la casella nella riga Mostra . Nella riga Criteri digitare "Chicago" (includere le virgolette singole). Verificare i risultati della query prima di usarli per creare la tabella.
Nel gruppo Risultati della scheda Struttura query fare clic su Esegui.
Premere CTRL + S per salvare la query.
Nella casella Nome query digitare Query ordini Chicago e quindi fare clic su OK.
Nel gruppo Visualizzazioni della scheda Home fare clic su Visualizza, quindi su Visualizzazione Struttura.
Nel gruppo Tipo di query della scheda Struttura query fare clic su Crea tabella.
Nella finestra di dialogo Crea tabella , nella casella Nome tabella , digitare Chicago Orders e quindi fare clic su OK.
Nel gruppo Risultati della scheda Struttura query fare clic su Esegui.
Nella finestra di dialogo di conferma fare clic su Sì e visualizzare la nuova tabella nel riquadro di spostamento.
Nota
Se è già presente una tabella con lo stesso nome specificato, tale tabella viene eliminata prima di eseguire la query.
Per altre informazioni sull'utilizzo delle query di creazione tabella, vedere Creare una query di creazione tabella.
Inizio pagina
Creare una query di accodamento
È possibile usare una query di accodamento per recuperare dati da una o più tabelle e aggiungere tali dati a un'altra tabella.
Supponi, ad esempio, di aver creato una tabella da condividere con un socio in affari di Chicago, ma di sapere che il socio lavora anche con clienti nell'area di Milwaukee. Si desidera aggiungere righe contenenti dati dell'area di Milwaukee alla tabella prima di condividere la tabella con il proprio associato. È possibile aggiungere dati relativi all'area di Milwaukee alla tabella Ordini di Chicago usando la procedura seguente:
- Aprire la query denominata "Query ordini Chicago" creata in precedenza in visualizzazione Struttura.
- Nel gruppo Tipo di query della scheda Struttura query fare clic su Accoda. Viene visualizzata la finestra di dialogo Accoda .
- Nella finestra di dialogo Accoda , fare clic sulla freccia nella casella Nome tabella , selezionare Ordini Chicago dall'elenco a discesa, quindi fare clic su OK.
- Nella griglia di struttura, nella riga Criteri della colonna Città della nave, eliminare 'Chicago', quindi digitare 'Milwaukee'.
- Nella riga Aggiungi a selezionare il campo appropriato per ogni colonna.
In questo esempio i valori della riga Aggiungi a devono corrispondere ai valori della riga Campo , ma ciò non è necessario per il funzionamento delle query di accodamento. - Nel gruppo Risultati della scheda Struttura query fare clic su Esegui.
Nota
Durante l'esecuzione di una query che restituisce una grande quantità di dati è possibile che venga visualizzato un messaggio di errore in cui si informa che non sarà possibile annullare la query. Provare ad aumentare il limite del segmento di memoria fino a 3 MB per consentire il completamento della query.
Per altre informazioni sulle query di accodamento, vedere Aggiungere record a una tabella usando una query di accodamento.
Inizio pagina
Creare una query di aggiornamento
È possibile usare una query di aggiornamento per modificare i dati nelle tabelle e una query di aggiornamento per immettere criteri per specificare quali righe devono essere aggiornate. Una query di aggiornamento consente di esaminare i dati aggiornati prima di eseguire l'aggiornamento.
Importante
Una query di azione non può essere annullata. È consigliabile eseguire un backup delle tabelle che verranno aggiornate usando una query di aggiornamento.
Nell'esempio precedente sono state accodate righe alla tabella Chicago Orders. Nella tabella Chicago Orders il campo ID prodotto contiene il codice numerico ID prodotto. Per rendere i dati più utili nei report, è possibile sostituire gli ID prodotto con i nomi dei prodotti, usando la procedura seguente:
Aprire la tabella Ordini di Chicago in visualizzazione Struttura.
Nella riga ID prodotto modificare il tipo di dati da numero a testo.
Salva e chiudi la tabella Ordini di Chicago.
Nel gruppo Query della scheda Crea fare clic su Struttura query.
Fai doppio clic su Ordini e prodottidi Chicago.
Nel gruppo Tipo di query della scheda Struttura query fare clic su Aggiorna.
Nella griglia di struttura le righe Ordina e Mostra scompaiono e viene visualizzata la riga Aggiorna in .
Nella tabella Ordini di Chicago fare doppio clic su ID prodotto per aggiungere questo campo alla griglia di struttura.
Nella griglia di struttura, nella riga Aggiorna a della colonna ID prodotto , digitare o incollare quanto segue: [Prodotti].[ Nome del prodotto]
Suggerimento
È possibile usare una query di aggiornamento per eliminare i valori dei campi usando una stringa vuota ("") o NULL nella riga Aggiorna a .
Nella riga Criteri digitare o incollare quanto segue: [ID prodotto] Like ([Prodotti].[ ID])
È possibile verificare quali valori verranno modificati da una query di aggiornamento visualizzando la query in visualizzazione Foglio dati.
Nella scheda Progettazione fare clic su Visualizza>visualizzazione Foglio dati. La query restituisce un elenco di ID prodotto che verranno aggiornati.
Nella scheda Struttura query fare clic su Esegui.
Quando si apre la tabella Chicago Orders, si noterà che i valori numerici inclusi nel campo ID prodotto sono stati sostituiti dai nomi dei prodotti della tabella Prodotti.
Per altre informazioni sulle query di aggiornamento, vedere Creare ed eseguire una query di aggiornamento.
Inizio pagina
Creare una query di eliminazione
È possibile usare una query di eliminazione per eliminare i dati dalle tabelle e una query di eliminazione per immettere criteri per specificare quali righe devono essere eliminate. Una query di eliminazione consente di esaminare le righe da eliminare prima di eseguire l'eliminazione.
Si supponga, ad esempio, di aver inviato la tabella Chicago Orders dell'esempio precedente a un socio in affari di Chicago e di notare che alcune righe contengono un numero di campi vuoti. Hai deciso di rimuovere queste righe prima di inviare la tabella. È possibile semplicemente aprire la tabella ed eliminare le righe manualmente, ma se sono presenti molte righe da eliminare e si hanno criteri chiari per le righe da eliminare, può essere utile usare una query di eliminazione.
È possibile usare una query per eliminare righe nella tabella Chicago Orders che non hanno un valore per ID ordine usando la procedura seguente:
- Nella scheda Crea fare clic su Struttura query.
- Fai doppio clic su Chicago Orders.
- Nel gruppo Tipo di query della scheda Struttura query fare clic su Elimina. Nella griglia di struttura, le righe Ordina e Mostra scompaiono e viene visualizzata la riga Elimina .
- Nella tabella Chicago Orders fare doppio clic su Order ID per aggiungerlo alla griglia.
- Nella griglia di struttura, nella riga Criteri della colonna ID ordine, digitare Is Null.
- Nel gruppo Risultati della scheda Struttura query fare clic su Esegui.
Per altre informazioni sulle query di eliminazione, vedere Creare ed eseguire una query di eliminazione.
Inizio pagina