In Access è possibile creare un campo multivalore che contiene più valori (fino a 100). È anche possibile creare un campo di ricerca che visualizza un valore descrittivo associato a un valore in un'altra origine dati. Quando si esegue una query su un campo di ricerca o multivalore, è necessario tenere presenti alcune considerazioni specifiche. Per altre informazioni, vedere Creare o eliminare un campo multivalore e Creare o eliminare un campo di ricerca.
Contenuto dell'articolo
Visualizzare il valore associato di un campo di ricerca in una query
Il valore visualizzato di un campo di ricerca viene automaticamente mostrato nella visualizzazione Foglio dati query per impostazione predefinita. Quando si crea una query, è possibile ignorare questo comportamento in modo che al suo posto sia visualizzato il valore associato. In questo esempio si supponga di voler visualizzare il valore associato di un campo di ricerca in una tabella della sede centrale che "cerca" un nome di stato della Nuova Inghilterra.

-
Aprire la query in visualizzazione Struttura.
-
In questo esempio aggiungere le tabelle Sede centrale e Nuova Groenlandia.
Le due tabelle devono essere unite in join.
Per altre informazioni, vedere Creare join tra tabelle e query.
-
Trascinare un campo insieme al campo di ricerca nella griglia di struttura della query. In questo esempio aggiungere il campo Cittàe NEState.
-
Fare clic sul campo di ricerca e quindi nel gruppo Mostra/Nascondi della scheda Progettazione fare clic su Finestra delle proprietà. In questo esempio usare il campo NEState.
-
Nella finestra delle proprietà selezionare la scheda Ricerca e quindi nella proprietà Controllo visualizzazione selezionare Casella di testo.
Risultato A questo punto, quando si visualizza la query in visualizzazione Foglio dati, viene visualizzato il valore associato corrispondente del valore visualizzato.

Usare il valore visualizzato per un campo di ricerca in una query
Quando si crea un campo di ricerca, viene creato un join tra il valore associato e il valore visualizzato. Anche se non è possibile usare direttamente il valore visualizzato in una query, è possibile usare il valore corrispondente dell'altra origine dati. In questo esempio si supponga di voler usare come criteri il valore visualizzato del campo di ricerca NEStatenella tabella Sede centrale in una query.
-
Aprire la query in visualizzazione Struttura.
-
In questo esempio aggiungere le tabelle Sede centrale e Nuova Groenlandia.
Le due tabelle devono essere unite in join. Per altre informazioni, vedere Creare join tra tabelle e query.
-
Trascinare i campi da usare nella griglia della query. In questo esempio trascinare City dalla tabella Sede centrale alla prima colonna, NEState dalla tabella Sede centrale alla seconda colonna e StateName dalla tabella NewEngland alla terza colonna.
-
Deselezionare la casella di controllo Mostra di StateName nella griglia della query.
-
Nella griglia della query, in StateName,nella riga Criteri, immettere Vermont.
I criteri della query si basano sulla colonna StateName, che naturalmente è lo stesso valore del valore visualizzato, NEState,ma non viene mostrato nella visualizzazione Foglio dati.
-
Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Risultato Viene visualizzata solo la riga che contiene Vermont.

Usare un campo multivalore in una query
Quando si visualizza un campo multivalore in una query, è possibile visualizzare il campo multivalore completo contenente tutti i valori separati da virgole in un'unica riga o dati biattivati con una riga separata per ogni valore. Si supponga, ad esempio, di avere una tabella Problemi che contiene un campo Titolo per ogni problema e un campo multivalore AssegnatoA per assegnare problemi agli utenti.
Visualizzare tutti i valori di un campo multivalore in un'unica riga
-
Aprire la query in visualizzazione Struttura.
-
In questo esempio aggiungere la tabella Problemi.
-
Trascinare i campi nella griglia di struttura della query. In questo esempio trascinare il campo Titolo e il campo multivalore AssegnatoA.
-
Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Risultato Come si può aspettare, in una colonna viene visualizzato il campo Titolo, mentre nella seconda colonna viene visualizzato il campo multivalore AssegnatoA:

Visualizzare ogni valore di un campo multivalore in un'unica riga (visualizzazione bivalore)
-
Aprire la query in visualizzazione Struttura.
-
In questo esempio aggiungere la tabella Problemi.
-
Trascinare i campi nella griglia della query. In questo esempio trascinare il campo Titolo e il campo multivalore AssegnatoA.Valore.
Il formato, <nome campo>. Value, aggiunge la proprietà Value come stringa. Valore del campo AssegnatoA.
-
Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Risultato I dati vengono bivalore in modo che il campo Titolo sia ripetuto e ogni valore del campo multivalore AssegnatoA sia visualizzato in una riga corrispondente:

Aggiungere criteri a un campo multivalore in una query
Il posizionamento degli stessi criteri nella griglia della query in colonne della griglia diverse ha un impatto notevole sui risultati della query.
Aggiungere criteri che visualizzano tutti i valori di un campo multivalore in un'unica riga
Access crea prima un set di risultati e quindi aggiunge i criteri.
-
Aprire la query in visualizzazione Struttura.
-
In questo esempio aggiungere la tabella Problemi.
-
Trascinare i campi nella griglia della query. In questo esempio trascinare il campo Titolo, il campo multivalore AssegnatoA e il campo multivalore AssegnatoA.Valore.
-
Deselezionare la casella di controllo Mostra di AssegnatoA.Valore nella griglia della query.
-
Nella griglia della query, in AssegnatoA.Valore,nella riga Criteri, immettere "NOT "Davide Davide".
È utile visualizzare la visualizzazione SQL seguente:
SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”;
-
Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Risultato I tre problemi non assegnati a Davide Davide vengono visualizzati in un valore predefinito.

Aggiungere criteri che visualizzano ogni valore in un campo multivalore in un'unica riga (visualizzazione bivalore)
Access crea prima un set di risultati flat e quindi aggiunge i criteri.
-
Aprire la query in visualizzazione Struttura.
-
In questo esempio aggiungere la tabella Problemi.
-
Trascinare i campi nella griglia della query. In questo esempio trascinare il campo Titolo e il campo multivalore AssegnatoA.Valore.
-
Nella griglia della query, in AssegnatoA.Valore,nella riga Criteri, immettere NOT "Davide Davide".
È utile visualizzare la visualizzazione SQL seguente:
SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = “David Hamilton”
-
Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Risultato Ogni problema non assegnato a Davide Davide viene visualizzato con un valore appiattito.

Aggiungere più criteri a un campo multivalore in una query
A volte è necessario cercare una corrispondenza su più valori all'interno di un campo multivalore. Si supponga ad esempio di voler visualizzare i problemi in cui sia "Kelly Rollin" che "Lisa Miller" sono tra i valori del campo AssegnatoA
-
Aprire la query in visualizzazione Struttura.
-
In questo esempio aggiungere la tabella Problemi.
-
Trascinare i campi nella griglia della query. In questo esempio trascinare il campo Titolo e il campo multivalore AssegnatoA.
-
Nella griglia della query, in AssegnatoA,nella riga Criteri, immettere "Kelly Rollin" AND "Lisa Miller".
-
Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Risultato Vengono visualizzati i due problemi assegnati a "Kelly Rollin" e "Lisa Miller".
Raggruppamento e conteggio di un campo multivalore in una query
Per eseguire calcoli, raggruppamenti e ordinamento dei valori archiviati in un campo multivalore, usare la funzione <nome campo>. Campo valore. Per altre informazioni sulle query di gruppo, vedere Contare i dati usando una query.
Per contare il numero di problemi assegnati a ogni persona
-
Aprire la query in visualizzazione Struttura.
-
In questo esempio aggiungere la tabella Problemi.
-
Trascinare i campi da usare nella griglia della query. In questo esempio trascinare AssegnatoA.Valore nella prima colonna e Titolo nella seconda colonna.
-
Nel gruppo Mostra/Nascondi della scheda Progettazione fare clic su Totali.
La riga Totale viene visualizzata nella griglia della query. Raggruppa per viene visualizzato per impostazione predefinita nella cella Totale sotto ogni campo della query.
-
Nella griglia della query, in Titolo,nella riga Totale, fare clic su Conteggio.
-
Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Risultato Il numero di problemi assegnati a ogni persona viene visualizzato in una visualizzazione appiattita.
Per contare quante persone sono assegnate a ogni problema
-
Aprire la query in visualizzazione Struttura.
-
In questo esempio aggiungere la tabella Problemi.
-
Trascinare i campi da usare nella griglia della query. In questo esempio trascinare Titolo sulla prima colonna e trascinare AssegnatoA nella seconda colonna.
-
Nel gruppo Mostra/Nascondi della scheda Progettazione fare clic su Totali.
La riga Totale viene visualizzata nella griglia della query. Raggruppa per viene visualizzato per impostazione predefinita nella cella Totale sotto il campo Titolo della query. Per impostazione predefinita, l'espressione viene visualizzata nella cella Totale del campo AssegnatoA perché non è possibile eseguire un'operazione Raggruppa per direttamente in un campo multivalore, ma solo un <nome campo>. Campo valore.
-
Nella griglia della query, in AssegnatoA,nella riga Totale, fare clic su Conteggio.
-
Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Risultato Il numero di persone assegnate per problema viene visualizzato in una visualizzazione appiattita.
Usare una query di accodamento con un campo multivalore
È possibile inserire un singolo valore in un campo multivalore usando una query di accodamento. Si supponga ad esempio di voler aggiungere "Tom Michele" al campo multivalore AssegnatoA nella tabella Problemi.
Nota Questo è l'unico tipo di query di accodamento che funziona con un campo multivalore.
-
Aprire la query in visualizzazione Struttura.
-
Aggiungere la tabella Problemi.
-
Nella scheda Progettazione fare clic su Aggiungi.
-
Nella finestra di dialogo Accodamento selezionare Problemie quindi fare clic su OK.
-
Nella riga Accoda a della griglia di struttura selezionare AssegnatoA.Valore.
-
Nella riga Campo della griglia di struttura immettere "Tom Michaels".
-
Per limitare l'operazione di accodamento a problemi specifici, aggiungere un campo alla griglia di struttura, ad esempio Titolo,rimuovere Titolo dalla riga Accoda a e quindi immettere criteri come "Problema 3".
-
Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Access potrebbe chiedere di confermare se accodare la riga selezionata. Fare clic su Sì per inserire la riga oppure su No per annullarlo.
Risultato "Tom Michaels" è stato aggiunto al campo AssegnatoA per il problema 3.
Importante Non è possibile usare una query di accodamento che fa riferimento a una tabella che contiene un campo multivalore. Ad esempio, la query seguente non è valida:
INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;
Usare una query di aggiornamento con un campo multivalore
È possibile usare una query di aggiornamento per modificare un singolo valore in un campo multivalore in un altro valore. In questo esempio si vuole aggiornare il campo multivalore AssegnatoA per sostituire "Kelly Rollin" con "Lisa Miller".
-
Aprire la query in visualizzazione Struttura.
-
Aggiungere la tabella Problemi.
-
Nella scheda Progettazione fare clic su Aggiorna.
-
Trascinare AssegnatoA.Valore nella griglia Query.
-
Nella riga Aggiorna a immettere "Lisa Miller".
-
Nella riga Criteri immettere "Kelly Rollin".
-
Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Access potrebbe chiedere di confermare se accodare la riga selezionata. Fare clic su Sì per inserire la riga oppure su No per annullarlo.
Risultato Lisa Miller sostituisce Kelly Rollin nel campo AssegnatoA per tutti i problemi corrispondenti.
Usare una query di eliminazione con un campo multivalore
Quando si usa una tabella che contiene un campo multivalore, è possibile usare una query di eliminazione per eliminare record che contengono un determinato valore in un campo multivalore o per eliminare un determinato valore da un campo multivalore in tutti i record della tabella. Nell'esempio seguente si supponga di voler eliminare "Davide Davide" dalla tabella Problemi.
Importante Quando si usa una query di eliminazione per eliminare un campo multivalore che contiene dati, questi vengono persi definitivamente e non è possibile annullare l'eliminazione. Per questo motivo, è consigliabile eseguire il backup del database prima di eliminare qualsiasi campo della tabella o altri componenti del database.
Per eliminare un determinato valore da un campo multivalore in tutti i record
-
Nel gruppo Query della scheda Crea fare clic su Struttura query.
-
Aggiungere la tabella Problemi.
-
Aprire la query in visualizzazione Struttura.
-
Nella scheda Progettazione fare clic su Elimina.
-
Nella riga Criteri immettere "Davide Davide".
-
Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Access potrebbe chiedere di confermare se eliminare i record. Fare clic su Sì per eliminare i record oppure su No per annullarlo.
Risultato David Davide viene rimosso da tutti i problemi corrispondenti.
Eliminare record che contengono un valore specifico in un campo multivalore
-
Nel gruppo Query della scheda Crea fare clic su Struttura query.
-
Aggiungere la tabella Problemi.
-
Aprire la query in visualizzazione Struttura.
-
Nella scheda Progettazione fare clic su Elimina gruppo.
-
Nel gruppo Risultati della scheda Progettazione fare clic sulla freccia sotto Visualizza e quindi fare clic su SQL visualizzazione.
-
Immettere il seguente SQL istruzione:
DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));
Nota In questo caso è possibile usare solo un'istruzione SQL istruzione, non la griglia di struttura. Se si passa alla visualizzazione Griglia di struttura, Access aggiunge un asterisco (*) dopo l'istruzione DELETE, che è necessario rimuovere SQL visualizzazione.
-
Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Access potrebbe chiedere di confermare se eliminare i record. Fare clic su Sì per eliminare i record oppure su No per annullarlo.
Risultato Tutti i problemi a cui è assegnato Davide Davide vengono rimossi.