Creare ed eseguire una query di eliminazione

Creare ed eseguire una query di eliminazione

Importante :  Il presente articolo è stato tradotto automaticamente, vedere la dichiarazione di non responsabilità. Per visualizzare la versione inglese dell'articolo, fare clic qui.

Quando si desidera rapidamente eliminare una grande quantità di dati o eliminare un set di dati a intervalli regolari in un database desktop Access, eliminazione o una query di aggiornamento può risultare utile perché le query consentono di specificare i criteri per trovare rapidamente ed eliminare i dati. Utilizzo di una query può essere anche un risparmio di tempo poiché è possibile riutilizzare una query salvata.

Nota : Prima di eliminare dati o eseguire una query di eliminazione, assicurarsi di avere una copia di backup del database desktop di Access.

Se si desidera solo eliminare alcuni record, non è necessario utilizzare una query. È sufficiente aprire la tabella in visualizzazione Foglio dati, selezionare i campi (colonne) o i record (righe) che si desidera eliminare e quindi premere CANC.

Importante : Le informazioni in questo articolo sono destinate solo con database desktop. Non è possibile utilizzare l'istruzione delete o aggiornare le query di Access web apps.

In questo articolo

Scelta di un tipo di query

Utilizzo di una query di eliminazione

Utilizzo di una query di aggiornamento

Ulteriori informazioni

Suggerimenti per la risoluzione dei problemi

Scelta di un tipo di query

È possibile utilizzare una query di aggiornamento o di eliminazione per eliminare dati dal database. Selezionare una query in base ai dettagli illustrati nella tabella seguente:

Tipo di query

Da utilizzare

Risultati

Utilizzare una query di eliminazione

Per rimuovere interi record (righe) da una tabella o da due tabelle correlate contemporaneamente.

Nota : Se i record si trovano sul lato "uno" di una relazione uno-a-molti, potrebbe essere necessario modificare la relazione prima di eseguire la query di eliminazione. Vedere la sezione sull'eliminazione di dati dalle tabelle correlate.

Tramite le query di eliminazione vengono rimossi tutti i dati di ogni campo, incluso il valore chiave che rende univoco un record.

Utilizzare una query di aggiornamento

Per eliminare singoli valori di campo da una tabella.

Consente di eliminare più facilmente i valori aggiornando quelli esistenti su un valore Null, ovvero senza dati, oppure una stringa di lunghezza zero, ovvero una coppia di virgolette senza spazi inclusi.

Inizio pagina

Elementi da verificare prima di utilizzare una query per eliminare i dati

  • Verificare che il file non sia di sola lettura:

    1. Fare clic con il pulsante destro del mouse sul pulsante Start e quindi scegliere Apri Esplora risorse.

    2. Fare clic con il pulsante destro del mouse sul file di database e scegliere Proprietà.

    3. Verificare se l'attributo Sola lettura è selezionato.

  • Verificare di disporre delle autorizzazioni necessarie per eliminare record dal database. A questo scopo, rivolgersi all'amministratore di sistema o al progettista di database.

  • Assicurarsi di aver abilitato il contenuto nel database. Per impostazione predefinita, se il database non è considerato attendibile, in Access vengono bloccate tutte le query di comando, ovvero le query di eliminazione, aggiornamento e creazione tabella. Per ulteriori informazioni sull'impostazione di un database come attendibile, vedere la sezione Impedire il blocco di una query da parte della modalità di disattivazione.

  • Chiedere agli altri utenti del database di chiudere tutti i report, tabelle, maschere e query che utilizzano i dati da eliminare, in modo da evitare violazioni di condivisione.

  • Prima di modificare o eliminare i record, è opportuno creare una copia di backup del database qualora si desiderasse annullare le modifiche.

Suggerimento : Se un numero elevato di utenti di connettersi al database, potrebbe essere necessario chiudere il database e quindi riaprirla in modalità esclusiva.

Per aprire il database in accesso esclusivo

  1. Fare clic su File tab > Apri.

  2. Passare al database e selezionarlo, fare clic sulla freccia accanto al pulsante Apri e quindi su Apertura esclusiva.

    Apertura di un file in accesso esclusivo

Eseguire il backup del database

  1. Fare clic sulla scheda File, quindi su Salva con nome.

  2. Fare clic su Salva database con nome, su Backup database. In Access verrà chiuso il file originale, verrà creato un backup e il file originale verrà aperto di nuovo.

  3. Fare clic su Salva con nome e specificare un nome e un percorso per la copia di backup, quindi fare clic su Salva.

Nota :  Se si utilizza un file di sola lettura o un database creato in una versione precedente di Access, è possibile che venga visualizzato un messaggio per informare che non è possibile crearne il backup.

Per tornare alla copia di backup, chiudere e rinominare il file originale, in modo che per la copia di backup sia possibile utilizzare il nome della versione originale. Assegnare il nome della versione originale alla copia di backup e quindi aprire la copia di backup rinominata in Access.

Utilizzo di una query di eliminazione

Per creare una query di eliminazione, fare clic sul nella scheda Crea la gruppo di query, fare clic su Struttura Query. Nel finestra di dialogo Mostra tabella fare doppio clic su ogni tabella da cui si desidera eliminare i record e quindi fare clic su Chiudi.

La tabella verrà visualizzata come finestra nella sezione superiore della griglia di struttura della query. Nell'elenco dei campi fare doppio clic sull'asterisco (*) per aggiungere tutti i campi della tabella alla griglia di struttura.

Utilizzo di criteri specifici in una query di eliminazione

Importante : Utilizzare i criteri per restituire solo i record da eliminare. In caso contrario la query di eliminazione rimuove ogni record della tabella.

Fare doppio clic sul campo che si desidera specificare come i criteri per l'eliminazione, immettere uno i criteri nel riga criteri della query della finestra di progettazione e quindi Cancella la la casella di controllo Mostra per ogni campo dei criteri.

Per un esempio di utilizzo di questa opzione, si supponga che si desideri rimuovere tutti gli ordini in sospeso per un cliente. Per individuare solo tali record, è possibile aggiungere i campi ID cliente e Data ordine alla griglia di struttura della query e quindi immettere il codice del cliente e la data in cui gli ordini del cliente sono diventati non validi.

  1. Nella scheda struttura fare clic su Visualizza > Visualizzazione Foglio dati.

  2. Verificare che la query restituisca i record che si desidera eliminare e quindi premere CTRL+S per salvare la query.

  3. Per eseguire la query, fare doppio clic su di essa nel riquadro di spostamento.

Inizio pagina

Utilizzo di una query di aggiornamento

Nota : È possibile utilizzare l'opzione di query di aggiornamento in un'app web di Access.

In questa sezione viene spiegato come utilizzare una query di aggiornamento per eliminare singoli campi dalle tabelle. Ricordarsi che eseguendo una query di aggiornamento per eliminare dati, i valori esistenti vengono impostati su Null o su una stringa di lunghezza zero (una coppia di virgolette doppie senza spazi inclusi) a seconda dei criteri specificati.

  1. Fare clic sulla scheda Crea e nel gruppo Query fare clic su Struttura query.

  2. Selezionare la tabella in cui sono presenti i dati da eliminare (se la tabella è correlata selezionare quella sul lato "uno" della relazione), fare clic su Aggiungi e quindi su Chiudi.

    La tabella verrà visualizzata come finestra nella sezione superiore della griglia di struttura della query. Nella finestra sono elencati tutti i campi della tabella selezionata.

  3. Fare doppio clic sull'asterisco (*) per aggiungere tutti i campi della tabella alla griglia di struttura. Questa operazione consente alla query di eliminazione di rimuovere record (righe) interi dalla tabella.

    Facoltativamente, è possibile immettere criteri per uno o più campi della riga Criteri di Progettazione query e quindi deselezionare la casella di controllo Mostra per ogni campo di criteri. Per altre informazioni sull'uso dei criteri, vedere la tabella Criteri di esempio per le query di eliminazione.

    Nota : Utilizzare i criteri per restituire solo i record che si desidera modificare. In caso contrario, tramite la query di aggiornamento verranno impostati su Null tutti i record di tutti i campi della query.

  4. Fare clic su Visualizza nel gruppo Risultati della scheda Struttura e quindi fare clic su Visualizzazione Foglio dati.

  5. Verificare che la query restituisca i record che si desidera impostare su NULL o una stringa di lunghezza zero (una coppia di virgolette doppie senza spazi tra di esse ("").

  6. Se necessario, ripetere i passaggi da 3 a 5 e modificare i campi o i criteri fino a quando la query restituirà solo i dati che si desidera eliminare e quindi premere CTRL + S per salvare la query.

  7. Per eseguire la query, fare doppio clic su di essa nel riquadro di spostamento.

Inizio pagina

Informazioni aggiuntive

Eliminazione di dati dalle tabelle correlate

Se si desidera eliminare i dati di più tabelle correlate, è necessario abilitare le opzioni Integrità referenziale e Elimina record correlati a catena per ogni relazione. In questo modo, tramite la query sarà possibile eliminare i dati dalle tabelle sul lato "uno" e sul lato "molti" della relazione. Per predisporre l'eliminazione dei dati correlati, è necessario verificare quanto segue:

  • Determinare quali record si trovano sul lato "uno" e quali si trovano sul lato "molti" di una relazione.

  • Se è necessario eliminare record sul lato "uno" della relazione e record correlati sul lato "molti", attivare un insieme di regole detto integrità referenziale, nonché le eliminazioni a catena. Nelle procedure descritte in questa sezione viene illustrato il significato di integrità referenziale e come eseguire queste due operazioni.

  • Se è necessario eliminare record solo sul lato "uno" della relazione, eliminare prima la relazione e quindi i dati.

Se è necessario rimuovere dati solo sul lato "molti" di una relazione, è possibile creare ed eseguire una query di eliminazione senza dover modificare la relazione.

Per individuare i record che si trovano sui lati "uno" e "molti" di una relazione, nel gruppo Relazioni della scheda Strumenti database fare clic su Relazioni. Nella scheda Relazioni verranno visualizzate le tabelle del database e le relazioni. Ogni relazione è rappresentata da una linea che collega i campi delle tabelle.

Nella figura seguente viene illustrata una relazione tipica. La maggior parte delle relazioni di un database, se non tutte, prevede un lato "uno" e un lato "molti". Nel diagramma della relazione il lato "uno" è indicato dal numero uno (1), mentre il lato "molti" dal simbolo di infinito ().

Relazione tra due tabelle

Quando si eliminano i record sul lato "uno" di una relazione, si eliminano anche tutti i record correlati sul lato "molti" della relazione. Quando, tuttavia, si eliminano i record sul lato "molti" di una relazione, in genere non si eliminano i record sul lato "uno".

In Access viene inoltre applicato automaticamente un insieme di regole denominato integrità referenziale. Queste regole garantiscono che le chiavi esterne di un database contengano i valori corretti. Una chiave esterna è una colonna i cui valori corrispondono a quelli della colonna chiave primaria di un'altra tabella.

Modificare la relazione

Eseguire la procedura seguente solo quando è necessario eliminare i dati sui lati "uno" e "molti" di una relazione.

  1. Nel gruppo Relazioni della scheda Strumenti database fare clic su Relazioni.

  2. Fare clic con il pulsante destro del mouse sulla relazione, ovvero la riga, che collega le tabelle coinvolte nell'operazione di eliminazione e quindi scegliere Modifica relazione dal menu di scelta rapida.

  3. Nella finestra di dialogo Modifica relazioni verificare che la casella di controllo Applica integrità referenziale sia selezionata.

  4. Selezionare la casella di controllo Elimina record correlati a catena.

    Nota : Fino a quando questa proprietà non viene di nuovo disattivata, eliminando un record sul lato "uno" della relazione si elimineranno tutti i record correlati sul lato "molti" della relazione.

  5. Fare clic su OK, chiudere il riquadro Relazioni e quindi passare alla procedura seguente.

Eliminare una relazione

  1. Se il riquadro Relazioni non è già aperto, aprirlo.

  2. Nel gruppo Relazioni della scheda Strumenti database fare clic su Relazioni.

    Prendere nota dei campi coinvolti nella relazione, per poter ripristinare la relazione dopo avere eliminato i dati.

  3. Pulsante destro del mouse la relazione, ovvero la riga che collega le tabelle coinvolte nell'operazione di eliminazione e quindi fare clic su eliminare dal menu di scelta rapida.

Nota : Per ripristinare la relazione, eseguire la procedura precedente per aprire il riquadro Relazioni e quindi trascinare il campo chiave primaria dalla tabella sul lato "uno" e rilasciarlo sul campo chiave esterna della tabella sul lato "molti". Verrà visualizzata la finestra di dialogo Modifica relazioni. Se per la vecchia relazione era applicata l'integrità referenziale, selezionare Applica integrità referenziale e quindi fare clic su Crea. In caso contrario, fare semplicemente clic su Crea.

Inizio pagina

Criteri di esempio per le query di eliminazione

Nella tabella seguente sono elencati alcuni criteri di esempio che è possibile utilizzare nelle query di selezione per assicurarsi di eliminare solo i dati desiderati. In alcuni esempi vengono utilizzati caratteri jolly.

Criteri

Effetto

> 234

Restituisce tutti i numeri maggiori di 234. Per trovare tutti i numeri minori di 234, utilizzare < 234.

>= "Giussani"

Restituisce tutti i record da Giussani alla fine dell'alfabeto.

Between #02.02.2010# And #01.12.2010#

Restituisce le date dal 02.02.10 al 01.12.10, in base alla modalità ANSI-89. Se nel database vengono utilizzati caratteri jolly ANSI-92, utilizzare virgolette singole (') al posto dei cancelletti (#), ad esempio Between '02.02.10' And '01.12.10'.

Not "Germania"

Trova tutti i record in cui il contenuto esatto del campo non corrisponde esattamente a "Germania". Il criterio restituirà i record contenenti altri caratteri oltre a "Germania", ad esempio "Germania (euro)" o "Europa (Germania)".

Not "T*

Trova tutti i record ad eccezione di quelli che iniziano con T. Se nel database viene utilizzato il set di caratteri jolly ANSI-92, utilizzare il simbolo di percentuale (%) al posto dell'asterisco (*).

Not "*t"

Trova tutti i record che non terminano con t. Se nel database viene utilizzato il set di caratteri jolly ANSI-92, utilizzare il simbolo di percentuale (%) al posto dell'asterisco (*).

In(Canada,Italia)

In un elenco trova tutti i record che contengono Canada o Italia.

LIKE "[A-D]*"

In un campo Testo trova tutti i record che iniziano con le lettere da A fino a D. Se nel database viene utilizzato il set di caratteri jolly ANSI-92, utilizzare il segno di percentuale (%) anziché l'asterisco (*).

Like "*ar*"

Trova tutti i record che includono la sequenza di lettere "ar". Se nel database viene utilizzato il set di caratteri jolly ANSI-92, utilizzare il simbolo di percentuale (%) al posto dell'asterisco (*).

Like "Villa Dewe?"

Trova tutti i record che iniziano con "Villa" e contengono una seconda stringa di cinque lettere in cui le prime quattro lettere sono "Dewe" e l'ultima lettera è sconosciuta. Se nel database viene utilizzato il set di caratteri jolly ANSI-92, utilizzare il carattere di sottolineatura (_) al posto del punto interrogativo (?).

#02.02.10#

Trova tutti i record con 02.02.10. Se il database utilizza il set di caratteri jolly ANSI-92, sostituire i caratteri cancelletto con le virgolette singole ('02.02.10').

< Date( ) - 30

Utilizza la funzione Date per restituire tutte le date passate da oltre 30 giorni.

Date( )

Utilizza la funzione Date per restituire tutti i record contenenti la data corrente.

Between Date( ) And DateAdd("M", 3, Date( ))

Utilizza le funzioni Date e DateAdd per restituire tutti i record compresi tra la data corrente e tre mesi dalla data corrente.

Is Null

Restituisce tutti i record che contengono un valore Null, ovvero vuoti o non definiti.

Is Not Null

Restituisce tutti i record che contengono almeno un valore, ovvero che non contengono il valore Null.

""

Restituisce tutti i record che contengono una stringa di lunghezza zero. Le stringhe di lunghezza zero vengono utilizzate quando è necessario aggiungere un valore a un campo obbligatorio, ma non si conosce ancora il valore effettivo. In un campo potrebbe, ad esempio, essere necessario aggiungere un numero di fax, ma alcuni clienti potrebbero non disporre di apparecchi fax. In questo caso, al posto del numero immettere una coppia di virgolette doppie senza spazi inclusi ("").

Inizio pagina

Suggerimenti per la risoluzione dei problemi

Cause della visualizzazione del messaggio di errore e correzione dell'errore

Se si crea una query di eliminazione tramite l'utilizzo di più tabelle e la proprietà Record univoci della query è impostata su No, in Access verrà visualizzato il messaggio di errore Impossibile eliminare dalle tabelle specificate quando la query viene eseguita.

Per correggere l'errore, impostare la proprietà Record univoci della query su .

  1. Aprire la query di eliminazione nella visualizzazione Struttura.

  2. Se la finestra delle proprietà della query non è aperta, premere F4 per aprirla.

  3. Fare clic in Progettazione query per visualizzare le proprietà della query e non le proprietà dei campi.

  4. Nella finestra delle proprietà della query individuare la proprietà Record univoci e impostarla su .

Impedire il blocco di una query da parte della modalità di disattivazione

Per impostazione predefinita, se si apre un database desktop che non si è scelto di considerare attendibile o che non si trova in un percorso attendibile, Access blocca tutte le query di comando.

Se si tenta di eseguire una query di comando e sembra che non accada niente, verificare se sulla barra di stato di Access viene visualizzato il messaggio seguente:

Azione o evento bloccato dalla modalità di disattivazione.

Se il messaggio viene visualizzato, eseguire la procedura seguente per abilitare il contenuto bloccato:

  • Sulla barra dei messaggi Avviso di sicurezza fare clic su Abilita contenuto ed eseguire di nuovo la query.

Per ulteriori informazioni sulla modalità di disattivazione e la sicurezza di Access, vedere l'articolo Comportamento degli oggetti di database considerati attendibili e non attendibili.

 inizio pagina

Nota : Dichiarazione di non responsabilità per la traduzione automatica: Il presente articolo è stato tradotto tramite un software di traduzione automatica e non da una persona. Microsoft offre le traduzioni automatiche per consentire a coloro che non conoscono la lingua inglese di leggere gli articoli sui prodotti, sui servizi e sulle tecnologie Microsoft. Dal momento che l'articolo è stato tradotto automaticamente, potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli.

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per i tuoi commenti e suggerimenti

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×