Possono verificarsi situazioni in cui non è possibile modificare i dati nella visualizzazione Foglio dati query per modificare i dati nella tabella sottostante. Questo articolo illustra quando è possibile modificare i dati delle query, quando non è possibile modificare i dati delle query e come modificare la struttura di una query in modo da poter modificare i dati sottostanti.
Contenuto dell'articolo
- Introduzione
- Quando è possibile modificare i dati in una query?
- Quando non è possibile modificare i dati in una query?
- Ricerca per categorie modificare una query in modo da poterne modificare i dati?
Introduzione
Quando si apre una query in visualizzazione Foglio dati, potrebbe essere necessario modificare i dati. È possibile che si noti un errore o che vengano visualizzate informazioni non aggiornate. A seconda di come è stata compilata la query, è possibile modificare i dati direttamente nel foglio dati della query.
Se si prova a modificare i dati in una query ma non accade nulla oppure Windows riproduce un suono e la modifica non viene eseguita, non è possibile eseguire la modifica. È possibile che la query stessa non sia disponibile per la modifica, ad esempio una query a campi incrociati. È anche possibile che solo il campo che si sta tentando di modificare non sia disponibile per la modifica, ad esempio se il campo è basato su una funzione di aggregazione, ad esempio una media. In entrambi i casi è possibile eseguire un'operazione per abilitare la modifica.
Oltre a modificare i dati nella visualizzazione Foglio dati query, è possibile usare una query di aggiornamento anche per aggiornare i dati in una tabella. Questo articolo non illustra le query di aggiornamento.
Per altre informazioni, vedere l'articolo Creare ed eseguire una query di aggiornamento.
In genere, quando si vogliono modificare i dati nella visualizzazione Foglio dati query, si vuole che le modifiche vengano salvate nelle tabelle su cui si basa la query. Se non si vogliono modificare i dati in queste tabelle, ma si vuole comunque modificare i dati e mantenere tali dati anche dopo aver terminato le modifiche, è possibile usare una query di creazione tabella per creare prima una nuova tabella di cui è possibile modificare i dati. È anche possibile usare una query di creazione tabella per salvare i risultati di una query che non consente la modifica come nuova tabella e quindi modificare i dati in tale nuova tabella. Questo articolo non illustra come creare ed eseguire query di creazione tabella.
Per ulteriori informazioni sulle query di creazione tabella, vedere l'articolo Creare una query di creazione tabella.
Inizio pagina
Quando è possibile modificare i dati in una query?
È sempre possibile modificare i dati in una query quando è basata su una sola tabella o su due tabelle che hanno una relazione uno-a-uno tra loro.
Nota
Anche se è possibile modificare i dati in una query, alcuni campi potrebbero non essere disponibili per la modifica. Tali casi sono elencati nella sezione seguente.
Inizio pagina
Quando non è possibile modificare i dati in una query?
Non è mai possibile modificare i dati in una query quando:
La query è a campi incrociati.
La query è specifica di SQL.
Il campo che si vuole modificare è un campo calcolato. In questo caso, è possibile modificare gli altri campi.
La query è basata su tre o più tabelle ed esiste una relazione molti-a-uno-a-molti.
Nota
Anche se in questo caso non è possibile modificare il foglio dati della query, è possibile modificare i dati in una maschera quando la proprietà RecordsetType della maschera è impostata su Dynaset (Aggiornamenti incoerenti).
La query contiene una clausola GROUP BY.
Inizio pagina
Ricerca per categorie modificare una query in modo da poterne modificare i dati?
Nella tabella seguente sono elencati i casi in cui non è possibile modificare una query, insieme ai metodi per rendere il foglio dati della query disponibile per la modifica.
| Non è possibile modificare i valori in un foglio dati di query quando: | Per rendere disponibile il foglio dati della query per la modifica: |
|---|---|
| La proprietà Unique Values della query è impostata su Yes. | Impostare la proprietà Unique Values della query su No. Per informazioni su come impostare questa proprietà, vedere la sezione seguente, Impostare la proprietà Valori univoci su No. |
| La query include una tabella di database ODBC collegata senza indice univoco o una tabella Paradox senza chiave primaria. | Aggiungere una chiave primaria o un indice univoco alla tabella collegata usando i metodi forniti dal fornitore del database collegato. |
| Non si dispone delle autorizzazioni Aggiornamento dati per la tabella sottostante. | Assegna autorizzazioni per l'aggiornamento dei dati. |
| La query include più tabelle o una query e le tabelle o le query non sono unite da una riga di join in visualizzazione Struttura. | Creare i join appropriati. Per informazioni su come creare join, vedere la sezione Creare join. |
| Il database è aperto in sola lettura o si trova in un'unità di sola lettura. | Chiudere il database e riaprirlo senza selezionare Apri di sola lettura. In alternativa, se il database si trova in un'unità di sola lettura, rimuovere l'attributo di sola lettura dall'unità o spostare il database in un'unità non di sola lettura. |
| Il campo del record che si tenta di aggiornare viene eliminato o bloccato da un altro utente. | Attendere che il record venga sbloccato. Un record bloccato può essere aggiornato non appena viene sbloccato. Attendere che l'altro utente completi l'operazione che ha bloccato il record. |
| La query è basata su tabelle con una relazione uno-a-molti e il campo di join dal lato "molti" non è un campo di output. In questo caso, i dati nel campo di join dal lato "uno" non possono essere modificati. | Aggiungere il campo join dal lato "molti" della relazione ai campi di output della query. Per informazioni su come aggiungere il campo di join, vedere la sezione Aggiungere il campo join dal lato "molti" ai campi di output della query. |
| Il campo di join dal lato "molti" (dopo aver modificato i dati) si trova sul lato "uno". | Premere MAIUSC+F9 per eseguire il commit delle modifiche e aggiornare la query. |
| Nella tabella è presente un campo vuoto sul lato "uno" di una relazione uno-a-molti e il join è un right outer join. | Assicurarsi che in quel campo sia presente un valore sul lato "uno". È possibile modificare il campo di join sul lato "molti" solo se nel campo è presente un valore sul lato "uno". |
| Si usa una tabella di database ODBC collegata e non tutti i campi dell'indice univoco della tabella collegata si trovano nell'output della query. | Aggiungere tutti i campi dell'indice univoco della tabella ODBC ai campi di output della query. Per informazioni su come aggiungere i campi, vedere la sezione Aggiungere campi di indice univoci da una tabella ODBC collegata. |
Inizio pagina
Impostare la proprietà Valori univoci su No
- Aprire la query in visualizzazione Struttura.
- Se la finestra delle proprietà non è aperta, aprirla premendo F4. Fare clic una volta nella griglia di struttura della query per assicurarsi che nella finestra delle proprietà siano visualizzate le proprietà della query anziché le proprietà dei campi.
- Nella finestra delle proprietà individuare la casella della proprietà Valori univoci . Fare clic sulla casella accanto ad essa, sulla freccia nella casella e quindi su No.
Creare join
- Aprire la query in visualizzazione Struttura.
- Per ogni tabella o query che si desidera unire a un'altra, trascinare il campo di join da tale tabella o query al campo corrispondente nella tabella o query in cui si desidera creare il join.
Per altre informazioni sulla creazione di join, vedere l'articolo Eseguire il join di tabelle e query.
Aggiungere il campo di join dal lato "molti" ai campi di output della query
- Aprire la query in visualizzazione Struttura.
- In Progettazione query individuare il join che corrisponde alla relazione uno-a-molti pertinente.
- Fare doppio clic sul campo di join dal lato "molti" della relazione uno-a-molti. Il campo di join viene visualizzato nella griglia dei campi, a indicare che ora è un campo di output.
Aggiungere campi indice univoci da una tabella ODBC collegata
- Aprire la query in visualizzazione Struttura.
- In Progettazione query individuare la tabella ODBC collegata.
- I campi indice univoci avranno un simbolo di chiave accanto al nome del campo. Fare doppio clic su ogni campo che non è già presente nella griglia dei campi. Ogni campo viene visualizzato nella griglia dei campi, a indicare che ora è un campo di output.
Inizio pagina