Archiviare i dati di Access

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

Per rendere più semplice l'organizzazione dei dati, è possibile archiviare periodicamente i record meno recenti o inattivi. Se ad esempio si desidera utilizzare Access per gestire una biblioteca, è possibile creare una tabella per tenere traccia delle transazioni relative ai libri prestati, con un campo contenente la data in cui un elemento è stato preso in prestito e un campo contenente la data in cui è stato restituito. I criteri di conservazione dei record, eventualmente in uso, potrebbero ad esempio prevedere l'archiviazione delle transazioni relative ai libri prestati un anno dopo la restituzione dell'elemento e la distruzione dei record dopo due anni.

È possibile archiviare in un database tutte le tabelle, tabelle specifiche o solo determinati record, ad esempio i record antecedenti a una data particolare. In questo argomento viene illustrato come archiviare i dati.

Contenuto dell'articolo

Panoramica

Spostare periodicamente i record in una tabella di archivio

Sostituire periodicamente una tabella

Sostituire periodicamente tutte le tabelle

Panoramica

È consigliabile archiviare i dati quando non si prevede più di utilizzarli e si desidera tenerli a portata di mano qualora fossero necessari. È possibile che per gestire i piani di archiviazione venga applicato un criterio, ad esempio un criterio di conservazione dei dati.

L'archiviazione viene spesso utilizzata per memorizzare i dati secondo una condizione basata sulla data, quale l'approssimarsi di una fine del mese.

Metodi per archiviare dati

Nella tabella seguente sono elencate le modalità di archiviazione dei dati, è indicato quando utilizzare ogni metodo e sono riportate altre considerazioni.

Metodo

Descrizione

Utilizzo

Altre considerazioni

Spostare periodicamente i record in una tabella di archivio

Viene eseguita periodicamente una query per selezionare i dati che si desidera archiviare e per accodarli a una tabella di archivio. Viene quindi eseguita una query per selezionare gli stessi dati dalla tabella originale e quindi eliminarli.

Quando alcuni dei record in una tabella soddisfano la condizione utilizzata per determinare se è necessario procedere all'archiviazione.

ESEMPIO: si desidera archiviare le transazioni della biblioteca, ovvero i libri prestati, se il valore in Data archiviazione è antecedente di almeno un anno.

  • Potrebbe essere necessario ignorare l'integrità referenziale, specialmente se i record che si desidera archiviare si trovano sul lato "uno" di una relazione uno-a-molti.

  • Se è necessario utilizzare parametri nelle query, è necessario creare un modulo per gestire i parametri. In caso contrario, potrebbe causare la perdita di dati.

Sostituire periodicamente una tabella

Viene eseguita periodicamente una copia di archivio di una particolare tabella, quindi la tabella viene sostituita con una nuova copia vuota.

Quando tutti i record in una tabella soddisfano la condizione utilizzata per determinare se è necessario procedere all'archiviazione.

ESEMPIO: è presente una tabella in cui vengono memorizzate le temperature massime giornaliere. Ogni anno la tabella viene archiviata, iniziando di nuovo con una tabella vuota.

  • Potrebbe essere necessario ignorare l'integrità referenziale.

Sostituire periodicamente tutte le tabelle

Si utilizza inizialmente un database diviso, ovvero un database che include un file di database back-end contenente tutte le tabelle e un file di database front-end contenente tutti gli altri oggetti di database. Viene eseguita periodicamente una copia di archivio del database back-end, quindi tale database viene sostituito con una nuova copia vuota.

Quando tutti i record nella maggior parte delle tabelle del database soddisfano la condizione utilizzata per determinare se è necessario procedere all'archiviazione.

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

  • Se sono presenti tabelle di ricerca, ovvero tabelle utilizzate per memorizzare valori ai fini della ricerca, ad esempio codici postali o reparti, potrebbe essere necessario importare i relativi dati nel nuovo database back-end.

  • Non è possibile utilizzare una macro per questo metodo, ma è necessario archiviare il database manualmente.

Metodi per ignorare l'integrità referenziale

Se i record che si desidera archiviare sono correlati a record in altre tabelle, potrebbe essere necessario ignorare la relazione. Se i record che si desidera archiviare sono record "figlio", ovvero appartengono al lato "molti" di una relazione uno-a-molti, è probabile che possano essere archiviati senza problemi. Se i record che si desidera archiviare sono record "padre", ovvero appartengono al lato "uno" di una relazione uno-a-molti, quando vengono archiviati i relativi record "figlio" potrebbero:

  • Impedire l'eliminazione dei record "padre", causando possibili problemi se i record "padre" sono già stati accodati alla tabella di archivio.

    - oppure -

  • Diventare "orfani", ovvero record appartenenti a un record "padre" inesistente, causando possibili problemi a livello di integrità dei dati e con diverse funzionalità del database che utilizza i record "orfani".

Per verificare l'integrità referenziale, eseguire la procedura seguente:

  1. Determinare quali record "figlio" appartengono ai record che si desidera archiviare. Ad esempio, se si desidera archiviare record relativi a beni prestati dalla biblioteca, determinare innanzitutto se sono presenti transazioni aperte per tali beni, ovvero se i beni sono stati prestati ma non ancora restituiti.

  2. Eseguire una delle operazioni seguenti:

    • Se "figlio" record sempre possono essere eliminati in modo sicuro, assicurarsi che la relazione attiva l'integrità referenziale, con le eliminazioni a catena. In questo modo che tutti i record correlati "figlio" verranno eliminati.

    • Se i record "figlio" non possono essere sempre eliminati senza problemi, considerare la possibilità di archiviare tutte le tabelle nel database.

    • Creare una query per selezionare i record "padre" privi di record "figlio". Utilizzare quindi tale prima query per creare le query di archiviazione, come descritto nella sezione Spostare periodicamente i record in una tabella di archivio, anziché utilizzare la tabella "padre".

      Suggerimento : Per la ricerca dei record non corrispondenti, è possibile utilizzare la Creazione guidata Query. Per ulteriori informazioni, vedere l'articolo Confrontare due tabelle e trovare record senza corrispondenze.

Inizio pagina

Spostare periodicamente i record in una tabella di archivio

Creare innanzitutto una copia vuota della tabella contenente i record che si desidera archiviare. Questa nuova tabella vuota sarà la tabella di archivio. Creare quindi una query di accodamento per copiare i record dalla tabella originale alla tabella di archivio. Creare successivamente una query di eliminazione per rimuovere i record archiviati dalla tabella originale. Creare infine una macro per l'esecuzione di entrambe le query. Quando si desidera archiviare i record, eseguire la macro.

Suggerimento : È possibile collegare una macro a un pulsante in una maschera, in modo da eseguire la macro facendo clic sul pulsante.

Passaggio 1: Creare una tabella di archivio

Passaggio 2: Creare una query per copiare dati nella tabella di archivio

Passaggio 3: Creare una query di eliminazione per rimuovere gli stessi dati dalla tabella originale

Passaggio 4: Creare una macro per eseguire entrambe le query

Passaggio 1: Creare una tabella di archivio

Se si desidera mantenere tutti i record archiviati in una sola tabella, eseguire questo passaggio una sola volta. La tabella di archivio creata in questo passaggio conterrà tutti i record archiviati.

Se si desidera eliminare la tabella di archivio precedente quando se ne crea una nuova, non è necessario eseguire questo passaggio. Per copiare i dati nella tabella di archivio, è possibile utilizzare una query di creazione tabella anziché una query di accodamento. A tale scopo, andare al passaggio 2.

Se si desidera utilizzare una nuova tabella di archivio ogni volta che si procede all'archiviazione, mantenendo le tabelle di archivio precedenti, rinominare queste ultime prima di creare una nuova tabella. Se l'archiviazione viene effettuata in base a una data, considerare la possibilità di denominare le tabelle di archivio precedenti in base all'intervallo di date che rappresentano.

Nota : Se si crea ogni volta una nuova tabella di archivio, mantenendo quella precedente, prima di eseguire query è necessario rinominare l'archivio precedente.

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

  2. Nella finestra di dialogo Incolla tabella con nome selezionare Solo struttura in Opzioni di incollamento.

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

    Incolla tabella con nome

Passaggio 2: Creare una query per copiare dati nella tabella di archivio

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

  2. Per aggiungere la tabella contenente i record che si desidera archiviare, utilizzare la finestra di dialogo Mostra tabella, quindichiuderla.

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

    Nota : L'asterisco indica che nell'output della query dovranno essere inclusi tutti i campi della tabella. Quando si utilizza l'asterisco, se si aggiungono o si rimuovono campi dalla tabella l'output della query viene modificato di conseguenza.

  4. Nella finestra di struttura della query fare doppio clic sul campo che si desidera utilizzare per specificare una condizione che dovrà essere soddisfatta dai record prima di essere archiviati. Ad esempio, se nella tabella Transazioni è presente un campo denominato Data archiviazione e si desidera archiviare tutti i record la cui data è antecedente di oltre un anno, fare doppio clic su Data archiviazione. Il campo verrà visualizzato nella successiva colonna vuota della griglia di struttura della query.

    Griglia di struttura della query

    Ripetere questo passaggio se si desidera utilizzare criteri con altri campi.

  5. Per specificare criteri per i campi aggiunti, utilizzare la riga Criteri. Ad esempio, è possibile specificare che il valore di Data archiviazione deve essere antecedente al 1° gennaio 2008 utilizzando l'espressione <#1/1/2008# nella riga Criteri.

    Se i valori dei criteri cambiano a ogni archiviazione, includere nella query una richiesta di input, utilizzando a tale scopo un parametro nella riga Criteri. Per utilizzare un parametro, creare un'espressione nel modo consueto, ma anziché specificare un valore, utilizzare una breve interrogazione racchiusa tra parentesi quadre. Ad esempio, è possibile utilizzare l'espressione <[Archive transactions completed before:], come nella figura seguente:

    Espressione per parametri

    Per ulteriori informazioni sull'utilizzo dei parametri, vedere l'articolo Utilizzare parametri nelle query e nei report.

    È inoltre possibile utilizzare la riga Oppure per specificare condizioni alternative. Per ulteriori informazioni sull'utilizzo dei criteri, vedere l'articolo Esempi di criteri di query.

    Suggerimento : Se si utilizza un campo di testo per specificare i criteri e si desidera archiviare tutti i record antecedenti alla data corrente, immettere <Date() nella riga Criteri per il campo di tipo Data.

  6. Eseguire una delle operazioni seguenti:

    • Se è già stata creata la tabella di archivio, è necessario utilizzare una query di accodamento per aggiungere i record specificati a tale 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 archivio nella casella Nome tabella, quindi fare clic su OK.

        Accoda a

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

      3. Cancellare la riga Accoda a per tutti i campi utilizzati per specificare i criteri. Dovrebbe essere presente un valore per Accoda a solo per l'asterisco.

        Riga Accoda a nella griglia di struttura della query

    • Se la tabella di archivio non è stata creata, è necessario utilizzare una query di creazione tabella per creare la tabella di archivio utilizzando i record specificati.

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

      2. Nella finestra di dialogo Creazione tabella digitare il nome della tabella di archivio nella casella Nome tabella, quindi fare clic su OK.

  7. Premere MAIUSC+F12 per salvare la query.

Passaggio 3: Creare una query di eliminazione per rimuovere gli stessi dati dalla tabella originale

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

  2. Per aggiungere la tabella contenente i record che si desidera archiviare, utilizzare la finestra di dialogo Mostra tabella, quindichiuderla.

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

  4. Nella finestra di struttura della query fare doppio clic sugli stessi campi utilizzati per specificare una condizione nella query di accodamento.

  5. Utilizzare la riga Criteri per specificare criteri per i campi aggiunti. Per ulteriori informazioni sull'utilizzo dei criteri, vedere l'articolo Esempi di criteri di query.

    Importante : Se nella query di accodamento o di creazione tabella è stato utilizzato un parametro, questo dovrà essere utilizzato anche nella query di eliminazione. Verificare inoltre di avere immesso lo stesso valore per entrambe le query. Se si immettono valori di parametri diversi, potrebbe verificarsi una perdita di dati. Per evitare questa evenienza, considerare la possibilità di utilizzare una maschera per raccogliere i valori e impostare le query in modo che richiedano i valori di input a tale maschera. Per ulteriori informazioni, vedere l'articolo Utilizzare parametri nelle query e nei report.

  6. Nel gruppo Tipo di query della scheda Struttura fare clic su Elimina.

    Nella griglia di struttura della query viene visualizzata la riga Elimina.

    Riga Elimina nella griglia di struttura della query

  7. Premere MAIUSC+F12 per salvare la query.

Passaggio 4: Creare una macro per eseguire entrambe le query

  1. Nel gruppo Altro della scheda Crea fare clic su Macro. Se il comando non è disponibile, fare clic sulla freccia sotto al pulsante Modulo o Modulo di classe, quindi su Macro.

  2. Nella prima riga della griglia di struttura delle macro selezionare ApriQuery nella colonna Azione.

    Azione di macro ApriQuery

  3. Nella parte inferiore della griglia nella casella Nome query, in Argomenti azione, selezionare la query di accodamento o di creazione tabella creata nel passaggio 2 dall'elenco a discesa.

    Argomento per la query dell'azione di macro ApriQuery

  4. Nella seconda riga della griglia di struttura delle macro selezionare ApriQuery nella colonna Azione.

  5. Nella parte inferiore della griglia nella casella Nome query, in Argomenti azione, selezionare la query di eliminazione dall'elenco a discesa.

    La macro avrà un aspetto simile al seguente:

    Macro pronta per il salvataggio

  6. Premere MAIUSC+F12 per salvare la macro.

    Quando si desidera archiviare i record, eseguire la macro.

Inizio pagina

Sostituire periodicamente una tabella

Se si desidera archiviare sempre tutti i dati in una tabella, non è necessario utilizzare query o macro. In alternativa è possibile sostituire periodicamente la tabella con una copia vuota.

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

  1. Nel riquadro di spostamento selezionare la tabella che si desidera archiviare, premere CTRL+C, quindi CTRL+V.

  2. Nella finestra di dialogo Incolla tabella con nome selezionare Solo struttura in Opzioni di incollamento, quindi fare clic su OK.

    Accesso nomi copia copia del nome della tabella originale.

  3. Nel riquadro di spostamento fare clic con il pulsante destro del mouse sulla tabella originale, quindi scegliere Rinomina dal menu di scelta rapida che verrà visualizzato.

    Assegnare alla tabella un nome che ne indichi il contenuto, ad esempio "TemperatureMassimeGiornaliere_archivio_2007".

  4. Nel riquadro di spostamento fare clic con il pulsante destro del mouse sulla copia vuota, quindi scegliere Rinomina dal menu di scelta rapida che verrà visualizzato.

    Assegnare alla copia vuota il nome della tabella originale.

Inizio pagina

Sostituire periodicamente tutte le tabelle

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

Preparare innanzitutto la copia vuota. Se la struttura del database non viene modificata, è possibile riutilizzare questa copia ogni volta che si procede all'archiviazione. Quando si desidera archiviare, sarà quindi sufficiente 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

Importare le definizioni di tabella per tutte le tabelle incluse nel database back-end.

  1. Creare un nuovo database vuoto. Eliminare Tabella1.

  2. Nella scheda Dati esterni fare clic su Access nel gruppo Importa.

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

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

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

  6. In Importa tabelle selezionare Solo definizione.

  7. Nella scheda Tabelle fare clic su Seleziona tutto, quindi su OK e infine su Chiudi.

Aggiungere quindi dati alle tabelle di ricerca nella copia vuota. Per ogni tabella di ricerca eseguire le operazioni seguenti:

  1. Collegarsi alla tabella di ricerca nel database back-end esistente.

  2. Creare una query di accodamento per aggiungere tutti i record dall'originale alla copia.

Sostituire il database back-end con una copia vuota

Rinominare innanzitutto il database back-end esistente per indicare che si tratta di un archivio.

Aprire quindi la copia vuota e salvarla utilizzando il nome del database back-end originale.

  1. Scegliere il Pulsante Microsoft Office Icona del pulsante Office e quindi scegliere Salva con nome. Verrà visualizzato il menu Salva con nome.

  2. In Salvataggio database in un altro formato fare clic su Database di Access 2007.

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.

×