Archiviare i dati di Access

Nota: Riteniamo importante fornire il contenuto della Guida più recente non appena possibile, nella lingua dell'utente. Questa pagina è stata tradotta automaticamente e potrebbe contenere errori di grammatica o imprecisioni. L'intento è quello di rendere fruibile il contenuto. Nella parte inferiore della pagina è possibile indicare se le informazioni sono risultate utili. Questo è l'articolo in lingua inglese per riferimento.

È possibile conservare i database di Microsoft Access organizzati e gestibili archiviando periodicamente i record vecchi o inattivi. È possibile archiviare tutte le tabelle di un database, tabelle specifiche o solo record specifici, ad esempio record antecedenti a una data specifica. Questo argomento illustra come usare tre diverse opzioni per archiviare i dati nel database di Access.

Contenuto dell'articolo

Quando si deve considerare l'archiviazione?

Sostituire periodicamente una tabella

Sostituire periodicamente tutte le tabelle

Trasferimento periodico di record in una tabella di archiviazione

Quando si deve considerare l'archiviazione?

Quando un database nel computer contiene dati che non si prevede di usare più, ma si vuole tenere a portata di mano i dati in caso sia necessario in un determinato momento o per soddisfare i criteri di conservazione dei dati, l'archiviazione è un buon modo per mantenere tali dati. L'archiviazione viene spesso usata anche per conservare i dati in base a una condizione di data, ad esempio alla fine di un mese.

Modalità di archiviazione dei dati

La tabella seguente elenca i metodi per l'archiviazione dei dati, una descrizione del metodo, la spiegazione di quando usare ogni metodo e altre considerazioni specifiche per il metodo.

Metodo

Descrizione

Da usare per

Altre considerazioni

Sostituire periodicamente una tabella

Crea periodicamente una copia dell'archivio di una determinata tabella e sostituisce quella tabella con una nuova copia di tabella vuota.

Tutti i record di una tabella soddisfano le condizioni usate per determinare se archiviare.

ESEMPIO: si dispone di una tabella che memorizza gli estremi della temperatura giornaliera. Ogni anno, la tabella viene archiviata e riavviata con uno vuoto.

  • Potrebbe essere necessario aggirare l'integrità referenziale. Per altre informazioni, vedere la sezione sull' integrità referenziale .

Sostituire periodicamente tutte le tabelle

Creare periodicamente una copia di archiviazione del database back-end e quindi sostituire il database back-end con uno nuovo, vuoto. Richiede un database diviso (un database che comprende: un file di database back-end che contiene tutte le tabelle e un file di database front-end che contiene tutti gli altri oggetti di database).

Tutti i record nella maggior parte delle tabelle di un database soddisfano la condizione utilizzata per determinare se archiviare.

ESEMPIO: il database è costituito da più tabelle con diversi tipi di dati meteorologici. Ogni anno si archiviano tutte le tabelle.

  • Se sono presenti tabelle di ricerca (tabelle che si usano per archiviare i valori per la ricerca, detti codici postali o reparti), potrebbe essere necessario importare tali dati nel nuovo database back-end.

  • È necessario archiviare manualmente il database. Non è possibile usare una macro per questo metodo.

Trasferimento periodico di record in una tabella di archiviazione

Esegue periodicamente una query che seleziona i record per l'archiviazione e aggiunge i dati a una tabella di archiviazione e quindi esegue una query per selezionare gli stessi record (dalla tabella originale) ed eliminarli.

Alcuni record di una tabella soddisfano la condizione che si usa per determinare se eseguire l'archiviazione.

ESEMPIO: si desidera archiviare le transazioni della raccolta (estrazioni) se la data di archiviazione è di almeno un anno.

  • Potrebbe essere necessario aggirare integrità referenziale, in particolare se i record che si desidera archiviare si trovano nell'unico lato di un relazione uno-a-molti. Per altre informazioni, vedere la sezione sull' integrità referenziale .

Avviso:  Se è necessario usare parametri nelle query, è necessario creare una maschera per gestire i parametri. In caso contrario, si rischia la perdita di dati.

Risolvere l'integrità referenziale

Se i record che si desidera archiviare sono correlati a record in altre tabelle, potrebbe essere necessario aggirare la relazione. Se i record che si desidera archiviare sono record "figlio" (che appartengono al lato "molti" di un relazione uno-a-molti ), è probabilmente possibile archiviarli senza problemi. Se i record che si desidera archiviare sono record "padre" (che appartengono al lato "uno" di un relazione uno-a-molti ), quando si archiviano i record "figlio" correlati possono:

  • Impedire l'eliminazione dei record "padre". Ciò può causare problemi se sono già stati accodati i record "padre" alla tabella di archiviazione.

    -Oppure-

  • Diventare "orfani"-record che appartengono a un "padre" che non esiste. Ciò può causare problemi di integrità e funzionalità dei dati nel database che usa i record "orfani".

Per tenere conto dell'integrità referenziale, eseguire la procedura seguente:

  1. Determinare quali record "figlio" appartengono ai record che si desidera archiviare. Ad esempio, per archiviare i record degli asset prestati in una raccolta, determinare prima di tutto se le transazioni sono aperte su tali asset, ossia se gli asset sono stati estratti ma non restituiti.

  2. Eseguire una delle operazioni seguenti:

    • Se i record "figlio" possono sempre essere eliminati in modo sicuro, verificare che la relazione imposti l'integrità referenziale, con le eliminazioni a cascata. Questo garantisce che tutti i record "figlio" correlati verranno eliminati.

    • Se i record "figlio" non possono sempre essere eliminati in modo sicuro, è consigliabile archiviare tutte le tabelle del database.

    • Creare una query che seleziona i record "padre" che non hanno record "figlio". Utilizzare quindi la prima query per creare le query di archiviazione (vedere la sezione trasferire periodicamente i record in una tabella di archiviazione), invece di usare la tabella "padre".

Inizio pagina

Sostituire periodicamente una tabella

Se si vogliono archiviare tutti i dati in una tabella, è possibile sostituire periodicamente la tabella con una copia vuota.

Importante: Se la tabella archiviata è correlata ad altre tabelle, potrebbe essere necessario aggirare l' integrità referenziale.

  1. Nel riquadro di spostamento selezionare le tabelle che si desidera archiviare, premere CTRL + C e quindi premere CTRL + V.

  2. Nella finestra di dialogo Incolla tabella come , in Opzioni Incolla, selezionare solo strutturae quindi fare clic su OK.

Access chiama la copia come copia del nome di tabella originale.

  1. Nel riquadro di spostamento fare clic con il pulsante destro del mouse sulla tabella originale e quindi scegliere Rinomina dal menu di scelta rapida.

Assegnare un altro nome alla tabella per indicare il contenuto, ad esempio "DailyTemperatureExtremes_archive_2019".

  1. Nel riquadro di spostamento fare clic con il pulsante destro del mouse sulla copia vuota e quindi scegliere Rinomina dal menu di scelta rapida. RiNominarlo con il nome della tabella originale.

Inizio pagina

Sostituire periodicamente tutte le tabelle

Se si usa un database diviso, è possibile sostituire periodicamente tutte le tabelle sostituendo il database back-end con una copia vuota.

Per eseguire questa operazione, preparare prima di tutto la copia vuota. A meno che non venga modificata la struttura del database, è possibile riutilizzare questa copia vuota ogni volta che si archivia. Per archiviare solo rinominare il database back-end esistente per indicare che si tratta di un archivio e salvare la copia vuota come nuovo database back-end.

Preparare una copia vuota di un database back-end

Prima di tutto, importare le definizioni di tabella per tutte le tabelle del database back-end.

  1. Nella scheda file fare clic su nuovo, selezionare database vuotoe quindi fare clic su Crea.

  2. Chiudere Tabella1.

  3. Nel gruppo Importa _AMP_ collegamento della scheda dati esterni fare clic su Access.

  4. Nella finestra di dialogo Carica dati esterni-database di Access selezionare Importa tabelle, query, maschere, report, macro e moduli nel database correntee quindi fare clic su Sfoglia.

  5. Nella finestra di dialogo Apri file selezionare il database back-end. Fare clic su Apri per chiudere la finestra di dialogo Apri file e quindi fare clic su OK.

  6. Nella finestra di dialogo Importa oggetti fare clic su Opzioni.

  7. In Importa tabelleselezionare solo definizione.

  8. Nella scheda tabelle fare clic su Seleziona tutto, fare clic su OKe quindi su Chiudi.

Aggiungere quindi i dati a tutte le tabelle di ricerca nella copia vuota. Per ogni tabella di ricerca, eseguire la procedura seguente:

  1. Creare un collegamento alla tabella di ricerca nel database back-end esistente.

  2. Creare una query di accodamento che aggiunga tutti i record dall'originale alla copia.

Sostituire il database back-end con una copia vuota

Prima di tutto, rinominare il database back-end esistente per indicare che ora è un archivio. Aprire quindi la copia vuota e salvarla usando il nome del database back-end originale.

  1. Fare clic sulla scheda file e quindi su Salva database con nome. Potrebbe essere richiesto di chiudere tutti gli oggetti aperti; in caso affermativo, fare clic su OK. Verrà visualizzata la finestra di dialogo Salva con nome .

  2. Nella casella Salva in (nella parte superiore della finestra di dialogo Salva con nome ) verificare che il file venga salvato nella stessa posizione del database back-end originale.

  3. Nella casella nome file immettere il nome del database back-end originale.

  4. Nella casella tipo di salvataggio selezionare database di Access (*. accdb).

Inizio pagina

Trasferimento periodico di record in una tabella di archiviazione

Si tratta di un processo a quattro fasi che richiede la creazione di una copia vuota della tabella contenente i record che si desidera archiviare, creando una query di Accodamento per copiare i record della tabella originale nella tabella di archiviazione, creando un query di eliminazione per rimuovere l'archivio record della tabella originale e infine la creazione di una macro per l'esecuzione di entrambe le query che possono essere eseguite quando si vuole archiviare. Questo processo apparentemente complesso può essere facile se segui i passaggi descritti nell'ordine in cui sono presentati di seguito:

Passaggio 1: creare una tabella di archiviazione

Passaggio 2: creare una query di Accodamento per copiare i dati nella tabella di archiviazione

Passaggio 3: creare una query di eliminazione per rimuovere i dati dalla tabella originale

Passaggio 4: creare una macro per l'esecuzione di query di Accodamento ed eliminazione

Passaggio 1: creare una tabella di archiviazione

Per conservare tutti i record archiviati in una tabella, eseguire questa operazione una sola volta. La tabella di archiviazione creata in questo passaggio conterrà tutti i record archiviati.

Per eliminare la tabella di archiviazione precedente quando si crea una nuova, invece di eseguire questo passaggio, è possibile usare un query di creazione tabella per copiare i dati nella tabella di archiviazione. A tale scopo, passare al passaggio 2.

Per usare una nuova tabella di archiviazione ogni volta che si archivia, ma anche per conservare le tabelle di archiviazione obsolete, rinominare la precedente tabella di archiviazione prima di crearne una nuova. Se si esegue l'archiviazione in base a una data, considerando la denominazione delle tabelle di archiviazione obsolete in base all'intervallo di date rappresentato.

  1. Nel riquadro di spostamento selezionare la tabella che contiene i record da archiviare, premere CTRL + C e quindi premere CTRL + V.

  2. Nella casella nome tabella eliminare la copia delle parole e aggiungere un carattere di sottolineatura e la parola "archivio" al nome della tabella esistente e quindi fare clic su OK. Ad esempio, se la tabella originale è denominata transazioni , la tabella di archiviazione è denominata Transactions_archive.

    Incolla tabella con nome

  3. Nella finestra di dialogo Incolla tabella come , in Opzioni Incolla, selezionare solo struttura.

Passaggio 2: creare una query di Accodamento per copiare i dati nella tabella di archiviazione

  1. Nel gruppo Query della scheda Crea fare clic su Struttura query.

  2. Usare la finestra di dialogo Mostra tabella per aggiungere la tabella con i record che si desidera archiviare e chiudere la finestra di dialogo Mostra tabella .

  3. Nella finestra di progettazione della query fare doppio clic sull'asterisco (*) nella tabella appena aggiunta. Il nome della tabella e un asterisco vengono visualizzati nella prima colonna della griglia di struttura della query.

    Nota: L'asterisco indica che la query deve includere tutti i campi della tabella nell'output della query. Quando si usa l'asterisco, se i campi vengono aggiunti o rimossi dalla tabella, l'output della query viene regolato di conseguenza.

  4. Nella finestra Struttura query fare doppio clic sul campo che si vuole usare per specificare una condizione che i record devono soddisfare prima di archiviarli. Ad esempio, se la tabella transazioni contiene un campo denominato Data diarchiviazione e si vogliono archiviare tutti i record in cui tale data ha più di un anno, fare doppio clic sul campo e viene visualizzata nella successiva colonna vuota della griglia di struttura della query.

    Griglia di struttura della query

    Ripetere questo passaggio se si vogliono usare i criteri con altri campi.

  5. Usare la riga criteri per specificare i criteri per i campi appena aggiunti. Ad esempio, è possibile specificare che la data di arrivo deve essere precedente al 1 ° gennaio 2019 usando l'espressione < # 1/1/2019 # nella riga criteri .

    Se i valori dei criteri cambiano ogni volta che si archivia, eseguire la query per richiedere l'input. A questo scopo, puoi usare un parametro nella riga criteri in modo che la query chieda l'input. Per usare un parametro, usare un'espressione come si farebbe normalmente, ma invece di un valore specificato, usare una breve domanda circondata da parentesi quadre. Ad esempio, è possibile usare l'espressione < [archivia le transazioni completate prima:], in questo modo:

    Espressione Parameter

    Per altre informazioni sull'uso dei parametri, vedere l'articolo Introduzione alle query.

    È anche possibile usare la riga o per specificare condizioni alternative. Per altre informazioni sull'uso dei criteri, vedere Esempi di criteri di query.

    Suggerimento: Se si usa un campo data per specificare i criteri e si vogliono archiviare tutti i record antecedenti alla data corrente, immettere <Date () nella riga criteri per il campo Data.

  6. Eseguire una delle operazioni seguenti:

    Se è già stata creata la tabella di archiviazione, usare una query di Accodamento per aggiungere i record specificati alla tabella:

    1. Nel gruppo Tipo di query della scheda Struttura fare clic su Accodamento.

    2. Nella finestra di dialogo Accodamento selezionare il nome della tabella di archiviazione nella casella nome tabella e quindi fare clic su OK.

      Accoda a

      Nella griglia di struttura della query viene visualizzata la riga Accoda a .

    3. Deselezionare la riga Accoda a per i campi usati per specificare i criteri. (Solo l'asterisco deve avere un valore per accodare).

      Griglia di struttura della query Accoda alla riga

      Se non è stata creata la tabella di archiviazione, utilizzare una query di creazione tabella per creare la tabella di archiviazione utilizzando i record specificati:

    4. Nel gruppo Tipo di query della scheda Struttura fare clic su Creazione tabella.

    5. Nella casella nome tabella della finestra di dialogo Crea tabella Digitare il nome della tabella di archiviazione e quindi fare clic su OK.

  7. Premere MAIUSC+INVIO per salvare la query.

Passaggio 3: creare una query di eliminazione per rimuovere i dati dalla tabella originale

  1. Nel gruppo Query della scheda Crea fare clic su Struttura query.

  2. Usare la finestra di dialogo Mostra tabella per aggiungere la tabella contenente i record che si desidera archiviare. Chiudere la finestra di dialogo Mostra tabella.

  3. Nella finestra di progettazione della query fare doppio clic sull'asterisco (*) nella tabella appena aggiunta. Il nome della tabella e un asterisco vengono visualizzati nella prima colonna della griglia di struttura della query.

  4. Nella finestra Struttura della query fare doppio clic sugli stessi campi usati per specificare una condizione nella query di Accodamento.

  5. Usare la riga criteri per specificare i criteri per i campi appena aggiunti. Per altre informazioni sull'uso dei criteri, vedere Esempi di criteri di query.

    Importante: Se la query di accodamento o di creazione tabella ha usato un parametro, verificare che la query di eliminazione sia troppo. Ricorda anche che immetti lo stesso valore per entrambe le query. Se si immettono valori di parametro diversi, è possibile che vengano persi dati. Per evitare la perdita di dati, è consigliabile usare un modulo per raccogliere i valori e fare in modo che le query richiedano il modulo per i valori di input. Per altre informazioni, vedere l'articolo Introduzione alle query.

  6. Nel gruppo tipo di query della scheda progettazione fare clic su Elimina.

    La riga Elimina viene visualizzata nella griglia di struttura della query.

    Riga di eliminazione della griglia di struttura della query

  7. Premere MAIUSC+INVIO per salvare la query.

Passaggio 4: creare una macro per l'esecuzione di query di Accodamento ed eliminazione

  1. Nel gruppo Macro e codice della scheda Crea fare clic su Macro.

  2. Fare clic sulla freccia a discesa accanto a Aggiungi nuova azionee quindi fare clic su OPENQUERY.

    Viene visualizzata l'azione OPENQUERY e vengono visualizzati i relativi argomenti.

  3. Nella casella nome query selezionare la query (accoda o Crea tabella) creata nel passaggio 2.

  4. Fare clic sulla freccia a discesa accanto a Aggiungi nuova azionee quindi fare clic su OPENQUERY.

    Viene visualizzata l'azione OPENQUERY e vengono visualizzati i relativi argomenti.

  5. Nella casella nome query selezionare la query di eliminazione creata al passaggio 3.

  6. Premere CTRL + S per salvare la macro.

    Quando si vogliono archiviare i record, eseguire la macro.

Inizio pagina

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

Queste informazioni sono risultate utili?

Grazie per il feedback!

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

×