In Access è possibile creare un campo multivalore contenente più valori (fino a 100). È anche possibile creare un campo di ricerca che visualizzi un valore descrittivo associato a un valore in un'altra origine dati. Quando si esegue una query su un campo di ricerca o un campo multivalore, vi sono considerazioni univoche. Per ulteriori 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
- Usare il valore visualizzato per un campo di ricerca in una query
- Usare un campo multivalore in una query
- Aggiungere criteri a un campo multivalore in una query
- Aggiungere più criteri a un campo multivalore in una query
- Raggruppamento e conteggio di un campo multivalore in una query
- Usare una query di accodamento con un campo multivalore
- Usare una query di aggiornamento con un campo multivalore
- Usare una query di eliminazione con un campo multivalore
Visualizzare il valore associato di un campo di ricerca in una query
Per impostazione predefinita, il valore visualizzato di un campo di ricerca viene visualizzato automaticamente nella visualizzazione Foglio dati query. Quando si crea una query, è possibile ignorare questo comportamento in modo che venga visualizzato il valore associato. In questo esempio si supponga di voler visualizzare il valore associato di un campo di ricerca in una tabella Headquarters che "cerca" il nome di uno stato del New England.
Aprire la query in visualizzazione Struttura.
In questo esempio aggiungere le tabelle Headquarters e NewEngland .
Le due tabelle devono essere unite.
Per altre informazioni, vedere Eseguire il join di tabelle e query.
Trascinare il campo a insieme al campo di ricerca nella griglia di struttura della query. In questo esempio aggiungere i campi Città e NEState .
Fare clic sul campo Ricerca e quindi nel gruppo Mostra/Nascondidella 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 Ora, quando si visualizza la query in visualizzazione Foglio dati, viene visualizzato il valore associato corrispondente al 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. Nonostante non sia possibile utilizzare direttamente il valore visualizzato in una query, è possibile utilizzare il valore corrispondente dell'altra origine dati. In questo esempio si supponga di voler usare il valore visualizzato del campo di ricerca, NEState, nella tabella Sede centrale in una query come criterio.
Aprire la query in visualizzazione Struttura.
In questo esempio aggiungere le tabelle Headquarters e NewEngland .
Le due tabelle devono essere unite. Per altre informazioni, vedere Eseguire il join di tabelle e query.Trascinare i campi desiderati nella griglia di query. In questo esempio, trascinare Città dalla tabella Sede alla prima colonna, NEState dalla tabella Sede alla seconda colonna e StateName dalla tabella NewEngland alla terza colonna.
Deselezionare la casella di controllo Mostra di StateName nella griglia di query.
Nella griglia della query immettere Vermont nella riga Criteri in NomeStato.
I criteri di query si basano sulla colonna StateName , che ovviamente ha lo stesso valore del valore visualizzato NEState, ma non viene visualizzata nella visualizzazione Foglio dati.
Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Risultato Viene visualizzata solo la riga contenente 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 una riga oppure i dati appiattiti 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 AssignedTo per assegnare problemi agli utenti.
Visualizzare tutti i valori di un campo multivalore in una 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 ci si potrebbe aspettare, in una colonna viene visualizzato il campo Titolo e nella seconda colonna il campo multivalore Assegnato :
Visualizzare ogni valore di un campo multivalore in una riga (visualizzazione appiattita)
- 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 AssignedTo.Value .
Il formato, <Fieldname>. Value, accoda la proprietà Value come stringa . Valore del campo AssegnatoA . - Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Risultato I dati vengono appiattiti in modo che il campo Titolo venga ripetuto e ogni valore del campo multivalore Assegnato a venga 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 diverse della griglia ha un notevole impatto sui risultati della query.
Aggiungere criteri per la visualizzazione di tutti i valori di un campo multivalore in una riga
Access crea innanzitutto un set di risultati, 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 Assegnato a e il campo multivalore Assegnato.Valore .
Deselezionare la casella di controllo Mostra di AssignedTo.Value nella griglia della query.
Nella griglia della query, in AssignedTo.Value, nella riga Criteri , immettere "NOT "David Hamilton".
È utile visualizzare la visualizzazione SQL:
SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton";Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Risultato I tre fascicoli non assegnati a David Hamilton vengono visualizzati in un valore predefinito.
Aggiungere criteri per la visualizzazione di tutti i valori di un campo multivalore in una riga (visualizzazione appiattita)
Access crea innanzitutto un set di risultati appiattito, 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 AssignedTo.Value .
Nella griglia della query, in AssignedTo.Value, nella riga Criteri , immettere NOT "David Hamilton".
È utile visualizzare la visualizzazione SQL:
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 David Hamilton viene visualizzato in 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 "Palermo" che "Lisa Miller" sono compresi tra i valori nel 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 Assegnato a, nella riga Criteri immettere "Kelly, Rollin" E "Lisa Miller".
- Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Risultato Vengono visualizzati questi due numeri assegnati a "Kelly Rollin" e "Lisa Miller".
Inizio pagina
Raggruppamento e conteggio di un campo multivalore in una query
Per eseguire calcoli, raggruppamento e ordinamento dei valori archiviati in un campo multivalore, utilizzare Fieldname<>. Campo valore. Per altre informazioni sulle query di gruppo, vedere Contare i dati usando una query.
Per contare il numero di fascicoli assegnati a ogni persona
- Aprire la query in visualizzazione Struttura.
- In questo esempio aggiungere la tabella Problemi .
- Trascinare i campi desiderati nella griglia di query. In questo esempio trascinare AssignedTo.Value sulla prima colonna e Title sulla seconda colonna.
- Nel gruppo Mostra/Nascondi della scheda Progettazione fare clic su Totali.
La riga Totale viene visualizzata nella griglia della query. Per impostazione predefinita, la cella Totale sotto ogni campo della query viene visualizzata per impostazione predefinita. - 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 per persona viene visualizzato in una vista 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 desiderati nella griglia di query. In questo esempio trascinare Titolo sulla prima colonna e Assegnato a sulla seconda colonna.
- Nel gruppo Mostra/Nascondi della scheda Progettazione fare clic su Totali.
La riga Totale viene visualizzata nella griglia della query. La funzione Raggruppa per viene visualizzata per impostazione predefinita nella cella Totale sotto il campo Titolo della query. L'espressione viene visualizzata per impostazione predefinita nella cella Totale sotto il campo Assegnato, poiché non è possibile eseguire un'operazione Raggruppa per direttamente su un campo multivalore, ma solo su un <nome> campo. Campo valore. - Nella griglia della query, in Assegnato a, 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.
Inizio pagina
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 Michaels" al campo multivalore AssegnatoA della tabella Problemi.
Avvertenza 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 Accoda.
- Nella finestra di dialogo Accoda , selezionare Problemi, quindi fare clic su OK.
- Nella riga Aggiungi a della griglia di struttura selezionare AssignedTo.Value.
- Nella riga Campo della griglia di progettazione, 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 Aggiungi a e quindi immettere criteri, ad esempio "Problema 3".
- Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
In Access potrebbe essere chiesto di confermare se accodare la riga selezionata. Fare clic su Sì per inserire la riga oppure su No per annullare.
Risultato "Tom Michaels" viene ora aggiunto al campo Assegnato a per il problema 3.
Consigli 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;
Inizio pagina
Usare una query di aggiornamento con un campo multivalore
È possibile usare una query di aggiornamento per modificare un singolo valore di un campo multivalore in un altro valore. In questo esempio si desidera aggiornare il campo multivalore AssegnatoA in modo da sostituire "Palermo" con "Lisa Miller".
- Aprire la query in visualizzazione Struttura.
- Aggiungere la tabella Problemi .
- Nella scheda Progettazione , fare clic su Aggiorna.
- Trascinare AssignedTo.Value sulla 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.
In Access potrebbe essere chiesto di confermare se accodare la riga selezionata. Fare clic su Sì per inserire la riga oppure su No per annullare.
Risultato Lisa Miller sostituisce Kelly Rollin nel campo AssegnatoA per tutti i problemi corrispondenti.
Inizio pagina
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 i 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 "David Hamilton" dalla tabella Problemi.
Consigli Quando si usa una query di eliminazione per eliminare un campo multivalore che contiene dati, i dati 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 "David Hamilton".
- Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Access potrebbe chiedere di confermare se si desidera eliminare i record. Fare clic su Sì per eliminare i record oppure su No per annullarli.
Risultato David Hamilton è stato rimosso per tutte le questioni corrispondenti.
Eliminare i record contenenti un determinato valore 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 su Visualizzazione SQL.
Immettere l'istruzione SQL seguente:
DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));Avvertenza In questo caso, è possibile usare solo un'istruzione SQL, non la griglia di struttura. Se si passa alla visualizzazione Griglia di struttura, Access aggiunge un asterisco (*) dopo l'istruzione DELETE, che è necessario rimuovere dalla visualizzazione SQL.
Nel gruppo Risultati della scheda Struttura fare clic su Esegui.
Access potrebbe chiedere di confermare se si desidera eliminare i record. Fare clic su Sì per eliminare i record oppure su No per annullarli.
Risultato Tutti i problemi assegnati a David Hamilton vengono rimossi.
Inizio pagina