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.

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

Periodicamente sostituire 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.

Periodicamente sostituire 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" sempre non potranno essere eliminati in modo sicuro, è consigliabile archiviazione tutte le tabelle del database.

    • Creare una query di selezione di "parent" i record che non hanno record "figlio". Quindi, utilizzare la prima query per creare le query di archivio (vedere la sezione spostare periodicamente i record in una tabella di archivio), invece di usare la tabella "parent".

      Suggerimento: È possibile utilizzare la creazione guidata Query per trovare record non corrispondenti. Per ulteriori informazioni, vedere l'articolo confrontare due tabelle e trovare record senza corrispondenze.

Torna all'inizio

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 che consente di copiare i dati alla tabella archivio

Passaggio 3: Creare una query di eliminazione che rimuove gli stessi dati dalla tabella originale

Passaggio 4: Creare una macro che viene eseguita 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 archivio precedente quando si crea una nuova, è necessario eseguire questo passaggio. È possibile utilizzare un query di creazione tabella invece di una query di Accodamento per copiare i dati alla tabella archivio. 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. Utilizzare la riga dei criteri per specificare i criteri per i campi che appena aggiunto. Ad esempio, è possibile specificare che la data selezionata In deve essere prima del 1 ° gennaio 2008 utilizzando l'espressione < # #1/1/2008 nella riga criteri.

    Se i valori dei criteri cambia ogni volta che viene archiviato, verificare che la query richiesta di input. Per eseguire questa operazione, utilizzare un parametro nella riga criteri in modo che la query viene richiesto di input. Per utilizzare un parametro, utilizzare un'espressione come normalmente ma invece di un valore specifico, usare una domanda breve racchiusa tra parentesi quadre. Ad esempio, utilizzare il valore di expression < [archiviare le transazioni completate prima:], come illustrato di seguito:

    Espressione per parametri

    Per ulteriori informazioni sull'utilizzo di parametri, vedere l'articolo creare una query richieda un input.

    È anche consigliabile utilizzare la riga o di specificare le condizioni alternative. Per ulteriori informazioni sull'utilizzo dei criteri, vedere l'articolo esempi di criteri di query.

    Suggerimento: Se si utilizza un campo Data per specificare i criteri e si desidera archiviare tutti i record che risalgono alla data corrente, immettere < date () nella riga criteri del campo 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 dei criteri per specificare i criteri per i campi che appena aggiunto. Per ulteriori informazioni sull'utilizzo dei criteri, vedere l'articolo esempi di criteri di query.

    Importante: Se la query di accodamento o creazione tabella utilizzato un parametro, è necessario una query di eliminazione. Inoltre, assicurarsi che immettere lo stesso valore per entrambe le query. Se si immettono i valori dei parametri diversi, si potrebbero perdere dati. Per evitare perdite di dati, è consigliabile utilizzare un modulo per raccogliere i valori e apportare le query di richiedere il modulo per i valori di input. Per ulteriori informazioni, vedere l'articolo creare una query richieda un input.

  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.

Torna all'inizio

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 in cui viene archiviato è collegata alle altre tabelle, potrebbe essere necessario risolvere 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.

Torna all'inizio

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.

Torna all'inizio

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.

×