Access-gegevens archiveren

Van toepassing op
Access voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

U kunt uw Microsoft Access-databases georganiseerd en beheerbaar houden door oude of inactieve records regelmatig te archiveren. U kunt alle tabellen in een database, bepaalde tabellen of alleen bepaalde records archiveren, bijvoorbeeld records die ouder zijn dan een bepaalde datum. In dit onderwerp wordt uitgelegd hoe u drie verschillende opties gebruikt voor het archiveren van de gegevens in uw Access-database.

In dit artikel

Wanneer moet u overwegen om te archiveren?

Wanneer een database op uw computer gegevens bevat die u niet meer van plan bent te gebruiken, maar u deze gegevens wel bij de hand wilt hebben voor het geval u ze op een bepaald moment nodig hebt, of om te voldoen aan een bewaarbeleid, is archiveren een goede manier om deze gegevens te bewaren. Archivering wordt ook vaak gebruikt om gegevens te bewaren op basis van een datumvoorwaarde, zoals aan het einde van een maand.

Manieren om gegevens te archiveren

De volgende tabel bevat methoden voor het archiveren van gegevens, een beschrijving van de methode, uitleg over wanneer u elke methode moet gebruiken en andere specifieke overwegingen voor de methode.

Werkwijze Beschrijving Gebruiken wanneer... Andere relevante informatie
Periodiek een tabel vervangen Maakt regelmatig een archiefkopie van een bepaalde tabel en vervangt die tabel door een nieuwe, lege tabelkopie. Alle records in een tabel voldoen aan de voorwaarden die u gebruikt om te bepalen of u wilt archiveren.

VOORBEELD: U hebt een tabel waarin extreme temperaturen per dag worden opgeslagen. U archiveert de tabel elk jaar opnieuw en begint opnieuw met een lege tabel.
Vervang regelmatig alle tabellen Maak regelmatig een archiefkopie van de back-enddatabase en vervang de back-enddatabase vervolgens door een nieuwe, lege database. Hiervoor is een gesplitste database vereist (een database die bestaat uit: een back-enddatabasebestand dat alle tabellen bevat, en een front-enddatabasebestand dat alle andere databaseobjecten bevat). Alle records in de meeste tabellen in een database voldoen aan de voorwaarde die u gebruikt om te bepalen of u wilt archiveren.

VOORBEELD: Uw database bestaat uit verschillende tabellen met verschillende soorten meteorologische gegevens. Elk jaar archiveert u alle tabellen.
  • Als u opzoektabellen hebt (tabellen waarin u opzoekwaarden opslaat, zoals postcodes of afdelingen), moet u die gegevens mogelijk importeren in de nieuwe back-enddatabase.
  • U moet de database handmatig archiveren. U kunt voor deze methode geen macro gebruiken.
Records regelmatig naar een archieftabel verplaatsen Voert periodiek een query uit waarmee de records worden geselecteerd die u wilt archiveren en de gegevens aan een archieftabel worden toegevoegd. Vervolgens voert u een query uit om dezelfde records (uit de oorspronkelijke tabel) te selecteren en te verwijderen. Sommige records in een tabel voldoen aan de voorwaarde die u gebruikt om te bepalen of ze moeten worden gearchiveerd.

VOORBEELD: U wilt bibliotheektransacties (uitchecken) archiveren als de ingecheckte datum ten minste een jaar oud is.
  • Het kan zijn dat referentiële integriteit moet worden omzeild, met name als de records die u wilt archiveren zich aan de een-kant van een één-op-veel-relatie bevinden. Zie het gedeelte over het omzeilen van referentiële integriteit voor meer informatie.

Waarschuwing: Als u parameters in uw query's moet gebruiken, moet u een formulier maken dat de parameters verwerkt. Anders loopt u het risico dat gegevens verloren gaan.

Werken met referentiële integriteit

Als de records die u wilt archiveren, gerelateerd zijn aan records in andere tabellen, moet u de relatie mogelijk omzeilen. Als de records die u wilt archiveren onderliggende records zijn (ze behoren tot de 'veel'-kant van een een-op-veel-relatie), kunt u ze waarschijnlijk veilig en zonder zorgen archiveren. Als de records die u wilt archiveren bovenliggende records zijn (ze behoren tot de 'een'-kant van een één-op-veel-relatie), kunnen de gerelateerde 'onderliggende' records:

  • voorkomen dat u de 'bovenliggende' records verwijdert. Dit kan problemen veroorzaken als u de 'bovenliggende' records al aan de archieftabel hebt toegevoegd.
    • Ofwel -
  • Worden 'zwevende ouders', records die toebehoren aan een 'bovenliggend' dat niet bestaat. Dit kan problemen veroorzaken met de integriteit en functionaliteit van de database die gebruikmaakt van niet-gekoppelde records.

Voer de volgende stappen uit om rekening te houden met referentiële integriteit:

  1. Bepaal welke onderliggende records horen bij de records die u wilt archiveren. Als u bijvoorbeeld records wilt archiveren van activa die zijn uitgeleend in een bibliotheek, moet u eerst bepalen of er transacties openstaan voor die activa, dat wil zeggen of de activa zijn uitgecheckt maar niet zijn geretourneerd.

  2. Ga op een van de volgende manieren te werk:

    • Als de 'onderliggende' records altijd veilig kunnen worden verwijderd, controleert u of de relatie referentiële integriteit afdwingt, met trapsgewijs verwijderen. Dit zorgt ervoor dat alle gerelateerde 'onderliggende' records worden verwijderd.
    • Als de onderliggende records niet altijd veilig kunnen worden verwijderd, kunt u overwegen alle tabellen in de database te archiveren.
    • Maak een query waarmee 'bovenliggende' records worden geselecteerd die geen 'onderliggende records' hebben. Gebruik vervolgens deze eerste query om uw archiefquery's te maken (zie de sectie Records regelmatig naar een archieftabel verplaatsen), in plaats van de bovenliggende tabel te gebruiken.

Naar boven

Periodiek een tabel vervangen

Als u alle gegevens in een tabel wilt archiveren, kunt u de tabel periodiek vervangen door een lege kopie.

Belangrijk

Als de tabel die u archiveert verwant is aan andere tabellen, kan het nodig zijn om referentiële integriteit te omzeilen.

  1. Selecteer in het navigatiedeelvenster de tabellen die u wilt archiveren, druk op Ctrl+C en Ctrl+V.

  2. Selecteer in het dialoogvenster Tabel plakken als onder Plakoptiesde optie Alleen structuur en klik op OK.

    De naam van de kopie wordt gewijzigd in Kopie van oorspronkelijke tabelnaam.

  3. Klik in het navigatiedeelvenster met de rechtermuisknop op de oorspronkelijke tabel en klik vervolgens op Naam wijzigen in het snelmenu.

    Geef de tabel een andere naam om de inhoud ervan aan te geven, zoals 'DailyTemperatureExtremes_archive_2019'.

  4. Klik in het navigatiedeelvenster met de rechtermuisknop op de lege kopie en klik vervolgens op Naam wijzigen in het snelmenu. Wijzig de naam met de naam van de oorspronkelijke tabel.

Naar boven

Vervang regelmatig alle tabellen

Als u een gesplitste database gebruikt, kunt u alle tabellen periodiek vervangen door de back-enddatabase te vervangen door een lege kopie.

Bereid hiervoor eerst de lege kopie voor. Tenzij het ontwerp van de database wordt gewijzigd, kunt u deze lege kopie bij het archiveren opnieuw gebruiken. Als u wilt archiveren, wijzigt u de naam van de bestaande back-enddatabase om aan te geven dat het een archief is en slaat u de lege kopie op als de nieuwe back-enddatabase.

Een lege kopie van een back-enddatabase voorbereiden

Importeer eerst de tabeldefinities voor alle tabellen in de back-enddatabase.

  1. Klik op het tabblad Bestand op Nieuw, selecteer Lege database en klik vervolgens op Maken.
  2. Sluit Tabel1.
  3. Klik op het tabblad Externe gegevens in de groep Importeren & koppeling op Access.
  4. Selecteer in het dialoogvenster Externe gegevens ophalen - Access-database de optie Tabellen, query's, formulieren, rapporten, macro's en modules importeren in de huidige database en klik vervolgens op Bladeren.
  5. Selecteer de back-enddatabase in het dialoogvenster Bestand openen . Klik op Openen om het dialoogvenster Bestand openen te sluiten en klik vervolgens op OK.
  6. Klik in het dialoogvenster Objecten importeren op Opties.
  7. Selecteer onder Tabellen importeren de optie Alleen definitie.
  8. Klik op het tabblad Tabellen op Alles selecteren, klik op OK en klik vervolgens op Sluiten.

Gegevens toevoegen aan opzoektabellen in de lege kopie

Voer voor elke opzoektabel de volgende stappen uit:

  1. Maak een koppeling naar de opzoektabel in de bestaande back-enddatabase.
  2. Een toevoegquery maken waarmee alle records van het origineel worden toegevoegd aan de kopie.

De back-enddatabase vervangen door een lege kopie

Wijzig eerst de naam van de bestaande back-enddatabase om aan te geven dat het nu een archief is. Open vervolgens de lege kopie en sla deze op in de naam van de oorspronkelijke back-enddatabase.

  1. Klik op het tabblad Bestand en klik vervolgens op Database opslaan als. U wordt mogelijk gevraagd alle geopende objecten te sluiten. Klik in dat geval op OK. Het dialoogvenster Opslaan als wordt geopend.
  2. Controleer in het vak Opslaan in (boven aan het dialoogvenster Opslaan als ) of u het bestand opslaat op dezelfde locatie als de oorspronkelijke back-enddatabase.
  3. Voer in het vak Bestandsnaam de naam van de oorspronkelijke back-enddatabase in.
  4. Selecteer in het vak Opslaan als de optie Access-database (*.accdb).

Naar boven

Records regelmatig naar een archieftabel verplaatsen

Dit is een proces dat bestaat uit vier stappen en vereist dat u een lege kopie maakt van de tabel met de records die u wilt archiveren, dat er een toevoegquery wordt gemaakt om de records van de oorspronkelijke tabel naar de archieftabel te kopiëren, dat er een verwijderquery wordt gemaakt om de gearchiveerde records uit de oorspronkelijke tabel wordt verwijderd en dat er ten slotte een macro wordt gemaakt voor het uitvoeren van beide query's die kunnen worden uitgevoerd wanneer u deze wilt archiveren. Dit ogenschijnlijk ingewikkelde proces kan eenvoudig zijn als u de stappen volgt in de volgorde waarin ze hieronder worden beschreven:

Stap 1: Een archieftabel maken

Stap 2: Een toevoegquery maken om gegevens naar de archieftabel te kopiëren

Stap 3: Een verwijderquery maken om gegevens uit de oorspronkelijke tabel te verwijderen

Stap 4: een macro maken voor het uitvoeren van zowel toevoeg- als verwijderquery's

Stap 1: Een archieftabel maken

Voer deze stap eenmaal uit als u alle gearchiveerde records in één tabel wilt bewaren. De archieftabel die u in deze stap maakt, bevat al uw gearchiveerde records.

Als u de oude archieftabel wilt verwijderen wanneer u een nieuwe maakt, kunt u in plaats van deze stap uit te voeren, een tabelmaakquery gebruiken om de gegevens naar de archieftabel te kopiëren. Ga hiervoor verder met stap 2.

Als u telkens wanneer u archiveert een nieuwe archieftabel wilt gebruiken, maar ook als u de oude archieftabellen wilt behouden, wijzigt u de naam van de oude archieftabel voordat u een nieuwe maakt. Als u archiveert op basis van een datum, overweeg dan om uw oude archieftabellen een naam te geven op basis van het datumbereik dat ze vertegenwoordigen.

  1. Selecteer in het navigatiedeelvenster de tabel met de records die u wilt archiveren, druk op Ctrl+C en druk vervolgens op Ctrl+V.
  2. Verwijder in het vak Tabelnaam het woord Kopie van, voeg een onderstrepingsteken en het woord 'archiveren' toe aan de naam van de bestaande tabel en klik op OK. Als de oorspronkelijke tabel bijvoorbeeld Transacties heet, krijgt de archieftabel de naam Transactions_archive.
    Tabel plakken als
  3. Selecteer in het dialoogvenster Tabel plakken als onder Plakoptiesde optie Alleen structuur.

Stap 2: Een toevoegquery maken om gegevens naar de archieftabel te kopiëren

  1. Klik op het tabblad Maken in de groep Query's op Queryontwerp.

  2. Voeg de tabel toe met de records die u wilt archiveren.

  3. Dubbelklik in het queryontwerpvenster op het sterretje (*) in de tabel die u zojuist hebt toegevoegd. De tabelnaam en het sterretje worden in de eerste kolom van het queryontwerpraster weergegeven.

    Opmerking

    Het sterretje geeft aan dat in de query alle velden uit de tabel in de queryuitvoer moeten worden opgenomen. Wanneer u het sterretje gebruikt en er velden aan de tabel worden toegevoegd, wordt de queryuitvoer dienovereenkomstig aangepast, ongeacht of er velden aan de tabel worden toegevoegd.

  4. Dubbelklik in het queryontwerpvenster op het veld dat u wilt gebruiken om een voorwaarde op te geven waaraan records moeten voldoen voordat ze worden gearchiveerd. Als de tabel Transacties bijvoorbeeld een veld bevat met de naam Datum ingecheckt en u alle records wilt archiveren met een datum van meer dan een jaar, dubbelklikt u op het veld, waarna het veld wordt weergegeven in de eerstvolgende lege kolom van het queryontwerpraster.
    Queryontwerpraster
    Herhaal deze stap als u criteria wilt gebruiken met aanvullende velden.

  5. Gebruik de rij Criteria om criteria op te geven voor de velden die u zojuist hebt toegevoegd. U kunt bijvoorbeeld opgeven dat de ingecheckte datum eerder moet zijn dan 1 januari 2019 door de expressie <#1/1/2019# te gebruiken in de rij Criteria .
    Als de waarden van de criteria veranderen telkens wanneer u archiveert, moet de query om invoer vragen. Hiervoor gebruikt u een parameter in de rij Criteria zodat de query om invoer vraagt. Als u een parameter wilt gebruiken, gebruik dan een expressie zoals u dat normaal zou doen, maar gebruik in plaats van een opgegeven waarde een korte vraag tussen vierkante haken. U kunt bijvoorbeeld de expressie <[Archief transacties voltooid vóór:] als volgt gebruiken:
    Parameterexpressie
    Zie het artikel Inleiding tot query's voor meer informatie over het gebruik van parameters.
    U kunt ook de rij OF gebruiken om alternatieve voorwaarden op te geven. Zie het artikel Voorbeelden van querycriteria voor meer informatie over het gebruik van criteria.

    Tip

    Als u een datumveld gebruikt om criteria op te geven en u alle records wilt archiveren die ouder zijn dan de huidige datum, voert u Date() in< de criteriarij voor het datumveld in.

  6. Ga op een van de volgende manieren te werk:
    Als u de archieftabel al hebt gemaakt, kunt u een toevoegquery gebruiken om de opgegeven records aan deze tabel toe te voegen:

    1. Klik op het tabblad Ontwerp in de groep Querytype op Toevoegen.
    2. Selecteer in het dialoogvenster Toevoegen in het vak Tabelnaam de naam van de archieftabel en klik op OK.
      Toevoegen aan
      In het queryontwerpraster wordt de rij Toevoegen aan weergegeven.
    3. Wis de rij Toevoegen aan voor velden die u hebt gebruikt om criteria op te geven. (Alleen het sterretje mag een waarde hebben voor Toevoegen aan.)
      Rij Toevoegen aan in queryontwerpraster
      Als u de archieftabel nog niet hebt gemaakt, gebruikt u een tabelmaakquery om de archieftabel te maken met de opgegeven records:
    4. Klik op het tabblad Ontwerp in de groep Querytype op Tabel maken.
    5. Typ in het dialoogvenster Tabel maken in het vak Tabelnaam de naam van de archieftabel en klik op OK.
  7. Druk op Ctrl+S om de query op te slaan.

Stap 3: Een verwijderquery maken om gegevens uit de oorspronkelijke tabel te verwijderen

  1. Klik op het tabblad Maken in de groep Query's op Queryontwerp.

  2. Voeg de tabel toe met de records die u wilt archiveren.

  3. Dubbelklik in het queryontwerpvenster op het sterretje (*) in de tabel die u zojuist hebt toegevoegd. De tabelnaam en het sterretje worden in de eerste kolom van het queryontwerpraster weergegeven.

  4. Dubbelklik in het queryontwerpvenster op dezelfde velden die u hebt gebruikt om een voorwaarde in de toevoegquery op te geven.

  5. Gebruik de rij Criteria om criteria op te geven voor de velden die u zojuist hebt toegevoegd. Zie het artikel Voorbeelden van querycriteria voor meer informatie over het gebruik van criteria.

    Belangrijk

    Als in de toevoeg- of tabelmaakquery een parameter wordt gebruikt, moet u ervoor zorgen dat de verwijderquery dat ook doet. Denk er ook aan dat u voor beide query's dezelfde waarde invoert. Als u andere parameterwaarden invoert, kunnen er gegevens verloren gaan. Als u gegevensverlies wilt voorkomen, kunt u overwegen een formulier te gebruiken om de waarden te verzamelen en ervoor te zorgen dat de query's het formulier om de invoerwaarden vragen. Zie het artikel Inleiding tot query's voor meer informatie.

  6. Klik op het tabblad Ontwerp in de groep Querytype op Verwijderen.
    De rij Verwijderen wordt weergegeven in het queryontwerpraster.
    Rij Verwijderen in queryontwerpraster

  7. Druk op Ctrl+S om de query op te slaan.

Stap 4: een macro maken voor het uitvoeren van zowel toevoeg- als verwijderquery's

  1. Klik op het tabblad Maken in de groep Macro's en code op Macro.
  2. Klik op de vervolgkeuzepijl naast Nieuwe actie toevoegen en klik vervolgens op QueryOpenen.
    De actie QueryOpenen wordt weergegeven en de argumenten worden weergegeven.
  3. Selecteer in het vak Querynaam de query (toevoegquery of tabelmaakquery) die u in stap 2 hebt gemaakt.
  4. Klik op de vervolgkeuzepijl naast Nieuwe actie toevoegen en klik vervolgens op QueryOpenen.
    De actie QueryOpenen wordt weergegeven en de argumenten worden weergegeven.
  5. Selecteer in het vak Querynaam de verwijderquery die u in stap 3 hebt gemaakt.
  6. Druk op Ctrl+S om de macro op te slaan.
    Als u records wilt archiveren, voert u de macro uit.

Naar boven