Du kan organisere og administrere dine Microsoft Access-databaser ved jævnligt at arkivere gamle eller inaktive poster. Du kan arkivere alle tabellerne i en database, bestemte tabeller eller kun bestemte poster – f.eks. poster, der er ældre end en bestemt dato. I dette emne forklares det, hvordan du bruger tre forskellige indstillinger til at arkivere dataene i din Access-database.

I denne artikel

Hvornår bør du overveje arkivering?

Når en database på computeren indeholder data, som du ikke længere har planer om at bruge, men du vil have disse data ved hånden, hvis du får brug for dem på et tidspunkt, eller for at overholde en dataopbevaringspolitik, er arkivering en god måde at opbevare sådanne data på. Arkivering bruges også ofte til at holde data baseret på en datobetingelse, f.eks. i slutningen af en måned.

Måder at arkivere data på

I følgende tabel vises metoder til at arkivere data, en beskrivelse af metoden, forklaring af, hvornår du skal bruge hver metode, og andre specifikke overvejelser i forbindelse med metoden.

Metode

Beskrivelse

Bruges, når...

Andre overvejelser

Erstatte en tabel med jævne mellemrum

Laver med jævne mellemrum en arkivkopi af en bestemt tabel og erstatter den pågældende tabel med en ny, tom tabelkopi.

Alle posterne i en tabel opfylder de betingelser, du bruger til at afgøre, om du vil arkivere.

EKSEMPEL: Du har en tabel, der lagrer daglige temperaturer. Hvert år arkiverer du tabellen og starter forfra med en tom en.

Erstatte alle tabeller med jævne mellemrum

Lav med jævne mellemrum en arkivkopi af back end-databasen, og erstat derefter back end-databasen med en ny, tom. Kræver en opdelt database (en database bestående af: en back end-databasefil, der indeholder alle tabellerne, og en front end-databasefil, der indeholder alle de andre databaseobjekter).

Alle posterne i de fleste tabeller i en database opfylder den betingelse, du bruger til at afgøre, om du vil arkivere.

EKSEMPEL: Din database består af flere tabeller med forskellige typer af databasedata. Hvert år arkiverer du alle tabellerne.

  • Hvis du har opslagstabeller (tabeller, du bruger til at gemme værdier til opslag, f.eks. postnumre eller afdelinger), skal du muligvis importere disse data til den nye back end-database.

  • Du skal arkivere databasen manuelt. Du kan ikke bruge en makro til denne metode.

Flyt med jævne mellemrum poster til en arkivtabel

Kører med jævne mellemrum en forespørgsel, der vælger posterne til arkivering og føjer dataene til en arkivtabel, og du kører derefter en forespørgsel for at vælge de samme poster (fra den oprindelige tabel) og slette dem.

Nogle af posterne i en tabel opfylder den betingelse, du bruger til at afgøre, om du vil arkivere.

EKSEMPEL: Du vil arkivere bibliotekstransaktioner (udtjekninger), hvis datoen for indtjekning er mindst et år gammel.

  • Det kan være nødvendigt at referentiel integritet, især hvis de poster, du vil arkivere, er på den ene side af en en-til-mange-relation. Se afsnittet om at arbejde omkring referentiel integritet for at få flere oplysninger.

Advarsel!: Hvis du skal bruge parametre i dine forespørgsler, skal du oprette en formular til at håndtere parametrene. Ellers risikerer du tab af data.

Løse referentiel integritet

Hvis de poster, du vil arkivere, er relateret til poster i andre tabeller, skal du muligvis løse problemet med relationen. Hvis de poster, du vil arkivere, er "underordnede" poster (de tilhører mange-siden af en en-til-mange-relation), kan du sikkert arkivere dem uden problemer. Hvis de poster, du vil arkivere, er "overordnede" poster (de tilhører en-siden af en en-til-mange-relation), kan deres relaterede "underordnede" poster, når du arkiverer dem:

  • Forhindre dig i at slette de "overordnede" poster. Dette kan medføre problemer, hvis du allerede har føjet de "overordnede" poster til arkivtabellen.

    - Eller -

  • Bliv "uafhængige" – poster, der tilhører en "overordnet", der ikke findes. Dette kan medføre problemer med dataintegritet og funktionalitet i din database, der bruger de "uafhængige" poster.

Hvis du vil tage højde for referentiel integritet, skal du følge disse trin:

  1. Find ud af, hvilke "underordnede" poster, der hører til de poster, du vil arkivere. Hvis du f.eks. vil arkivere poster for aktiver, der findes i et bibliotek, skal du først afgøre, om der er åbne transaktioner for disse aktiver, dvs. om aktiverne er blevet tjekket ud, men ikke returneret.

  2. Gør et af følgende:

    • Hvis "underordnede" poster altid kan slettes sikkert, skal du sikre dig, at relationen gennemtvinger referentiel integritet med overlappende sletninger. Dette sikrer, at alle relaterede "underordnede" poster slettes.

    • Hvis de "underordnede" poster ikke altid kan slettes sikkert, skal du overveje at arkivere alle tabellerne i databasen.

    • Opret en forespørgsel, der vælger "overordnede" poster, der ikke har "underordnede" poster. Brug derefter den første forespørgsel til at oprette arkiveringsforespørgsler (se afsnittet Flyt med jævne mellemrum poster til en arkivtabel) i stedet for at bruge den "overordnede" tabel.

Toppen af siden

Erstatte en tabel med jævne mellemrum

Hvis du vil arkivere alle dataene i en tabel, kan du med jævne mellemrum erstatte tabellen med en tom kopi.

Vigtigt!: Hvis den tabel, du arkiverer, er relateret til andre tabeller, kan det være nødvendigt at løse problemer med referentiel integritet.

  1. I navigationsruden skal du markere de tabeller, du vil arkivere, trykke på Ctrl+C og derefter trykke på Ctrl+V.

  2. Vælg kun Struktur under Indstillinger for Sæt ind i dialogboksen Indsættabel som,og klik derefter på OK.

    Access navngiver kopien som en kopi af det oprindelige tabelnavn.

  3. Højreklik på den oprindelige tabel i navigationsruden, og klik derefter på Omdøb i genvejsmenuen.

    Giv tabellen et andet navn for at angive, hvad den indeholder, f.eks. "DailyTemperatureExtremes_archive_2019".

  4. Højreklik på den tomme kopi i navigationsruden, og klik derefter på Omdøb i genvejsmenuen. Omdøb den med den oprindelige tabels navn.

Toppen af siden

Erstatte alle tabeller med jævne mellemrum

Hvis du bruger en opdelt database, kan du med jævne mellemrum erstatte alle tabeller ved at erstatte back end-databasen med en tom kopi.

For at gøre dette skal du først forberede den tomme kopi. Medmindre designet af din database ændres, kan du genbruge denne tomme kopi, hver gang du arkiverer. Hvis du vil arkivere, skal du blot omdøbe den eksisterende back end-database for at angive, at det er et arkiv, og gemme den tomme kopi som den nye back end-database.

Forberede en tom kopi af en back end-database

Først skal du importere tabeldefinitionerne for alle tabellerne i back end-databasen.

  1. På fanen Filer skal du klikke på Ny,vælge Tom databaseog derefter klikke på Opret.

  2. Luk Tabel1.

  3. Klik på Access i gruppen & eksterne data.

  4. Vælg Importér tabeller, forespørgsler, formularer, rapporter, makroer og moduler til den aktuelle database i dialogboksen Hent eksterne data – Access-database, og klik derefter på Gennemse.

  5. Vælg back end-databasen i dialogboksen Åbn fil. Klik Åbn for at lukke dialogboksen Åbn fil, og klik derefter på OK.

  6. Klik på Indstillinger i dialogboksen Importérobjekter.

  7. Vælg Kun definitionunder Importér tabeller.

  8. Klik på Markér alt under fanen Tabeller,klik på OK,og klik derefter på Luk.

Føj data til opslagstabeller i den tomme kopi 

For hver opslagstabel skal du gøre følgende:

  1. Opret en kæde til opslagstabellen i den eksisterende back end-database.

  2. Opret en tilføjelsesforespørgsel, der tilføjer alle poster fra originalen til kopien.

Erstat back end-databasen med en tom kopi

Først skal du omdøbe den eksisterende back end-database for at angive, at det nu er et arkiv. Åbn derefter den tomme kopi, og gem den ved at bruge det oprindelige back end-databasenavn.

  1. Klik på fanen Filer, og klik derefter på Gem database som. Du bliver muligvis bedt om at lukke alle åbne objekter. Hvis det er, skal du klikke på OK. Dialogboksen Gem som åbnes.

  2. I feltet Gem i (øverst i dialogboksen Gem som) skal du sørge for, at du gemmer filen på samme sted som den oprindelige back end-database.

  3. Skriv navnet på den oprindelige back end-database i feltet Filnavn.

  4. Vælg Access-database(*.accdb)i feltet Filtype.

Toppen af siden

Flyt med jævne mellemrum poster til en arkivtabel

Dette er en proces i fire trin, der kræver, at du opretter en tom kopi af tabellen, der indeholder de poster, du vil arkivere, opretter en tilføjelsesforespørgsel for at kopiere posterne fra den oprindelige tabel til arkivtabellen, opretter en slet søgning for at fjerne de arkiverede poster fra den oprindelige tabel og til sidst opretter en makro til at køre begge forespørgsler, der kan køres, når du vil arkivere. Denne tilsyneladende komplekse proces kan være let, hvis du følger trinnene i den rækkefølge, de vises i, nedenfor:

Trin 1: Opret en arkivtabel

Trin 2: Opret en tilføjelsesforespørgsel for at kopiere data til arkivtabellen

Trin 3: Opret en sletteforespørgsel for at fjerne data fra den oprindelige tabel

Trin 4: Opret en makro for at køre både tilføjelses- og sletningsforespørgsler

Trin 1: Opret en arkivtabel

Hvis du vil gemme alle arkiverede poster i én tabel, skal du udføre dette trin én gang. Den arkivtabel, du opretter i dette trin, indeholder alle dine arkiverede poster.

Hvis du vil slette din gamle arkivtabel, når du opretter en ny, kan du i stedet for at udføre dette trin bruge en opret-tabel-forespørgsel til at kopiere dataene til arkivtabellen. Hvis du vil gøre dette, skal du gå til trin 2.

Hvis du vil bruge en ny arkivtabel, hver gang du arkiverer, men også bevare dine gamle arkivtabeller, skal du omdøbe den gamle arkivtabel, før du opretter en ny. Hvis du arkiverer baseret på en dato, bør du overveje at navngive dine gamle arkivtabeller efter det datointerval, de repræsenterer.

  1. I navigationsruden skal du markere den tabel, der skal arkiveres poster, trykke på Ctrl+C og derefter trykke på Ctrl+V.

  2. I feltet Tabelnavn skal du slette ordene Kopi af og føje et understregningstegn og ordet "arkiv" til det eksisterende tabelnavn og derefter klikke på OK. Hvis den oprindelige tabel f.eks. hedder Transaktioner, hedder arkivtabellen Transactions_archive.

    Indsæt tabel som

  3. Vælg kun Struktur under Indstillinger for Sæt ind i dialogboksenIndsæt tabel som.

Trin 2: Opret en tilføjelsesforespørgsel for at kopiere data til arkivtabellen

  1. Klik på Forespørgselsdesign i gruppen Forespørgsler under fanen Opret.

  2. Tilføj tabellen med de poster, du vil arkivere.

  3. Dobbeltklik på stjernen (*) i den tabel, du lige har tilføjet, i forespørgselsdesignvinduet. Tabelnavnet og en stjerne vises i den første kolonne i forespørgselsdesigngitteret.

    Bemærk!: Stjernen angiver, at forespørgslen skal medtage alle felterne fra tabellen i forespørgselsoutputtet. Når du bruger stjernen, og felter tilføjes eller fjernes fra tabellen, justeres forespørgselsoutput tilsvarende.

  4. Dobbeltklik på det felt, du vil bruge til at angive en betingelse, som posterne skal opfylde, før du arkiverer dem, i forespørgselsdesignvinduet. Hvis tabellen Transaktioner f.eks. har et felt med navnet Indtjekket dato,og du vil arkivere alle poster, hvor denne dato er mere end et år gammel, skal du dobbeltklikke på feltet og det vises i den næste tomme kolonne i forespørgselsdesigngitteret.

    Forespørgselsgitter

    Gentag dette trin, hvis du vil bruge kriterier med flere felter.

  5. Brug rækken Kriterier til at angive kriterier for de felter, du lige har tilføjet. Du kan f.eks. angive, at datoen for indtjekket ind skal være tidligere end 1. januar 2019 ved hjælp af udtrykket <#1/1/2019# i rækken Kriterier.

    Hvis dine kriterieværdier ændres, hver gang du arkiverer, skal du få forespørgslen til at bede om input. Det gør du ved at bruge en parameter i rækken Kriterier, så forespørgslen beder om input. Hvis du vil bruge en parameter, skal du bruge et udtryk som normalt, men i stedet for en angivet værdi, skal du bruge et kort spørgsmål omgivet af kantede parenteser. Du kan f.eks. bruge udtrykket <[Arkivtransaktioner fuldført før:], således:

    Parameterudtryk

    Du kan finde flere oplysninger om brug af parametre i artiklen Introduktion til forespørgsler.

    Du kan også bruge rækken eller rækken til at angive alternative betingelser. Du kan finde flere oplysninger om brug af kriterier i artiklen Eksempler på forespørgselskriterier.

    Tip!: Hvis du bruger et datofelt til at angive kriterier, og du vil arkivere alle poster, der er ældre end dags dato, skal du angive <Dato() i rækken Kriterier for datofeltet.

  6. Gør et af følgende:

    Hvis du allerede har oprettet arkivtabellen, kan du bruge en tilføjelsesforespørgsel til at føje de angivne poster til den pågældende tabel:

    1. På fanen Design i gruppen Forespørgselstype klikker du Tilføj.

    2. Vælg navnet på arkivtabellen i feltet Tabelnavn i dialogboksen Tilføj, og klik derefter på OK.

      Føj til

      I forespørgselsdesigngitteret vises rækken Føj til.

    3. Fjern markeringen i rækken Føj til for alle felter, du har brugt til at angive kriterier. (Kun stjernen skal have en værdi for Føj til).)

      Rækken Føj til i forespørgselsgitteret

      Hvis du ikke har oprettet arkivtabellen, kan du bruge en opret-tabel-forespørgsel til at oprette arkivtabellen ved hjælp af de angivne poster:

    4. Klik på Tabeloprettelse i gruppen Forespørgselstype under fanen Design.

    5. Skriv navnet på arkivtabellen i feltet Tabelnavn i dialogboksen Opret tabel, og klik derefter på OK.

  7. Tryk på Ctrl+S for at gemme forespørgslen.

Trin 3: Opret en sletteforespørgsel for at fjerne data fra den oprindelige tabel

  1. Klik på Forespørgselsdesign i gruppen Forespørgsler under fanen Opret.

  2. Tilføj tabellen med de poster, du vil arkivere.

  3. Dobbeltklik på stjernen (*) i den tabel, du lige har tilføjet, i forespørgselsdesignvinduet. Tabelnavnet og en stjerne vises i den første kolonne i forespørgselsdesigngitteret.

  4. Dobbeltklik på de samme felter, du brugte til at angive en betingelse i tilføjelsesforespørgslen, i forespørgselsdesignvinduet.

  5. Brug rækken Kriterier til at angive kriterier for de felter, du lige har tilføjet. Du kan finde flere oplysninger om brug af kriterier i artiklen Eksempler på forespørgselskriterier.

    Vigtigt!: Hvis tilføjelses- eller tabelforspørgslen brugte en parameter, skal du sikre dig, at sletteforespørgslen også gør det. Husk også, at du angiver den samme værdi for begge forespørgsler. Hvis du angiver andre parameterværdier, kan du miste data. For at forhindre tab af data kan du overveje at bruge en formular til at indsamle værdierne og få forespørgslerne til at bede formularen om inputværdierne. Du kan finde flere oplysninger i artiklen Introduktion til forespørgsler.

  6. Klik på Slet i gruppen Forespørgselstype under fanen Design.

    Rækken Slet vises i forespørgselsgitteret.

    Rækken Slet i forespørgselsgitteret

  7. Tryk på Ctrl+S for at gemme forespørgslen.

Trin 4: Opret en makro for at køre både tilføjelses- og sletningsforespørgsler

  1. Klik på Makro i gruppen Makroer og kode på fanen Opret.

  2. Klik på rullepilen ud for Tilføj ny handling,og klik derefter på ÅbnForespørgsl.

    Handlingen ÅbnForespørgig vises og viser argumenterne.

  3. I feltet Forespørgselsnavn skal du vælge den (tilføjelses- eller tabeloprettede) forespørgsel, du oprettede i trin 2.

  4. Klik på rullepilen ud for Tilføj ny handling,og klik derefter på ÅbnForespørgsl.

    Handlingen ÅbnForespørgig vises og viser argumenterne.

  5. Vælg den sletteforespørgsel, du oprettede i trin 3, i feltet Forespørgselsnavn.

  6. Tryk på Ctrl+S for at gemme makroen.

    Når du vil arkivere poster, skal du køre makroen.

Toppen af siden

Har du brug for mere hjælp?

Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Deltag i Microsoft insiders

Var disse oplysninger nyttige?

Hvor tilfreds er du med kvaliteten af oversættelsen?

Hvad påvirkede din oplevelse?

Har du mere feedback? (Valgfrit)

Tak for din feedback!

×