Arkiv Access-data

Gjelder for
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Du kan holde Microsoft Access-databasene dine organisert og håndterbar ved å arkivere gamle eller inaktive poster regelmessig. Du kan arkivere alle tabellene i en database, bestemte tabeller eller bare bestemte poster, for eksempel poster som er eldre enn en bestemt dato. Dette emnet forklarer hvordan du bruker tre ulike alternativer til å arkivere dataene i Access-databasen.

I denne artikkelen

Når bør du vurdere arkivering?

Når en database på datamaskinen inneholder data som du ikke har tenkt å bruke lenger, men du vil ha dataene lett tilgjengelig i tilfelle du skulle trenge dem en eller annen gang, eller for å overholde en dataoppbevaringspolicy, er arkivering en god metode for å beholde slike data. Arkivering brukes også ofte til å holde data basert på en datobetingelse, for eksempel på slutten av en måned.

Måter å arkivere data på

Tabellen nedenfor viser metoder for arkivering av data, en beskrivelse av metoden, forklaring på når du bør bruke hver metode og andre spesifikke hensyn for metoden.

Fremgangsmåte Beskrivelse Bruk når... Andre faktorer
Erstatte en tabell med jevne mellomrom Lager med jevne mellomrom en arkivkopi av en bestemt tabell og erstatter denne tabellen med en ny, tom tabellkopi. Alle postene i en tabell oppfyller vilkårene som du bruker til å bestemme om du vil arkivere.

EKSEMPEL: Du har en tabell som lagrer daglige ekstreme temperaturer. Hvert år arkiverer du tabellen og starter på nytt med en tom en.
Erstatte alle tabeller med jevne mellomrom Lag med jevne mellomrom en arkivkopi av bakdatabasen, og erstatt deretter bakdatabasen med en ny, tom en. Krever en delt database (en database som består av en bakdatabasefil som inneholder alle tabellene, og en frontdatabasefil som inneholder alle de andre databaseobjektene). Alle postene i de fleste tabellene i en database oppfyller betingelsen du bruker til å bestemme om du vil arkivere.

EKSEMPEL: Databasen består av flere tabeller med ulike typer meteorologiske data. Du arkiverer alle tabellene hvert år.
  • Hvis du har oppslagstabeller (tabeller som du bruker til å lagre verdier for oppslag, for eksempel postnumre eller avdelinger), må du kanskje importere disse dataene til den nye bakdatabasen.
  • Du må arkivere databasen manuelt. Du kan ikke bruke en makro for denne metoden.
Flytte poster regelmessig til en arkivtabell Kjører med jevne mellomrom en spørring som velger postene for arkivering, legger til dataene i en arkivtabell. Deretter kjører du en spørring for å velge de samme postene (fra den opprinnelige tabellen) og slette dem. Noen av postene i en tabell oppfyller betingelsen du bruker til å bestemme om du vil arkivere.

EKSEMPEL: Du vil arkivere bibliotektransaksjoner (utsjekkinger) hvis innsjekkingsdatoen er minst ett år gammel.
  • Kan hende du må omgå referanseintegritet, spesielt hvis postene du vil arkivere, er på én-siden av en én-til-mange-relasjon. Se delen Arbeide rundt referanseintegritet for mer informasjon.

Advarsel: Hvis du må bruke parametere i spørringene, bør du opprette et skjema som håndterer parameterne. Ellers risikerer du tap av data.

Samarbeid om referanseintegritet

Hvis postene du vil arkivere, er relatert til poster i andre tabeller, må du kanskje omgå relasjonen. Hvis postene du vil arkivere, er «underordnede» poster (de tilhører «mange»-siden i en én-til-mange-relasjon), kan du sannsynligvis trygt arkivere dem uten problemer. Hvis oppføringene du vil arkivere, er «overordnede» oppføringer (de tilhører «én»-siden av en én-til-mange-relasjon), kan det hende at de relaterte «underordnede» oppføringene kan gjøre følgende når du arkiverer dem:

  • Hindre deg i å slette «overordnede» poster. Dette kan føre til problemer hvis du allerede har lagt til de «overordnede» postene i arkivtabellen.
    • eller –
  • Bli «frittstående» – poster som tilhører en «overordnet» som ikke finnes. Dette kan føre til problemer med dataintegriteten og funksjonaliteten i databasen som bruker isolerte poster.

Gjør følgende for å gjøre rede for referanseintegritet:

  1. Finn ut hvilke «underordnede» oppføringer som tilhører oppføringene du vil arkivere. Hvis du for eksempel vil arkivere poster over aktiva som er lånt ut i et bibliotek, må du først finne ut om det finnes åpne transaksjoner på disse aktivaene, det vil si om aktivaene har blitt sjekket ut, men ikke returnert.

  2. Gjør ett av følgende:

    • Hvis de underordnede postene alltid trygt kan slettes, må du kontrollere at relasjonen håndhever referanseintegritet med gjennomgripende slettinger. Dette sikrer at alle relaterte «underordnede» oppføringer slettes.
    • Hvis de underordnede postene ikke alltid trygt kan slettes, bør du vurdere å arkivere alle tabellene i databasen.
    • Opprett en spørring som velger overordnede poster som ikke har underordnede poster. Deretter bruker du den første spørringen til å opprette arkivspørringene (se delen Flytte poster regelmessig til en arkivtabell) i stedet for å bruke den overordnede tabellen.

Til toppen av siden

Erstatte en tabell med jevne mellomrom

Hvis du vil arkivere alle dataene i en tabell, kan du med jevne mellomrom erstatte tabellen med en tom kopi.

Viktig

Hvis tabellen du arkiverer, er relatert til andre tabeller, kan det hende du må arbeide rundt referanseintegritet.

  1. Merk tabellene du vil arkivere, i navigasjonsruten, trykk CTRL+C, og trykk deretter CTRL+V.

  2. Velg Bare struktur under Alternativer for innlimingi dialogboksen Lim inn tabell som, og klikk deretter OK.

    Access navngir kopien som en kopi av det opprinnelige tabellnavnet.

  3. Høyreklikk den opprinnelige tabellen i navigasjonsruten, og klikk deretter Gi nytt navn på hurtigmenyen.

    Gi tabellen et annet navn for å angi hva den inneholder, for eksempel DailyTemperatureExtremes_archive_2019.

  4. Høyreklikk den tomme kopien i navigasjonsruten, og klikk deretter Gi nytt navn på hurtigmenyen. Gi den nytt navn med navnet på den opprinnelige tabellen.

Til toppen av siden

Erstatte alle tabeller med jevne mellomrom

Hvis du bruker en delt database, kan du med jevne mellomrom erstatte alle tabellene ved å erstatte bakdatabasen med en tom kopi.

For å gjøre dette må du først klargjøre den tomme kopien. Med mindre utformingen av databasen endres, kan du bruke denne tomme kopien på nytt hver gang du arkiverer. Når du skal arkivere, gir du bare den eksisterende bakdatabasen et nytt navn, for å angi at den er et arkiv, og lagrer den tomme kopien som en ny bakdatabase.

Klargjøre en tom kopi av en bakdatabase

Først importerer du tabelldefinisjonene for alle tabellene i bakdatabasen.

  1. Klikk NyFil-fanen, velg Tom database og klikk deretter Opprett.
  2. Lukk tabell1.
  3. Klikk Access i gruppen Importer & kobling på fanen Eksterne data.
  4. Velg Importer tabeller, spørringer, skjemaer, rapporter, makroer og moduler til den gjeldende databasen i dialogboksen Hent eksterne data – Access-database, og klikk deretter på Bla gjennom.
  5. Velg bakdatabasen i dialogboksen Åpne fil. Klikk Åpne for å lukke dialogboksen Åpne fil, og klikk deretter OK.
  6. Klikk Alternativer i dialogboksen Importer objekter.
  7. Velg Bare definisjon under Importer tabeller.
  8. Klikk Merk alt Tabeller-fanen, klikk OK og klikk deretter Lukk.

Legg til data i en hvilken som helst oppslagstabell i den tomme kopien

Gjør følgende for hver oppslagstabell:

  1. Koble til oppslagstabellen i den eksisterende bakdatabasen.
  2. Opprette en tilføyingsspørring som legger til alle postene fra originalen i kopien.

Erstatte bakdatabasen med en tom kopi

Først gir du den eksisterende bakdatabasen et nytt navn for å angi at den nå er et arkiv. Deretter åpner du den tomme kopien og lagrer den ved hjelp av det opprinnelige bakdatabasenavnet.

  1. Klikk kategorien Fil , og klikk deretter Lagre database som. Du kan bli bedt om å lukke alle åpne objekter. I så fall klikker du OK. Dialogboksen Lagre som åpnes.
  2. I Lagre i-boksen (øverst i dialogboksen Lagre som ) kontrollerer du at du lagrer filen på samme sted som den opprinnelige bakdatabasen.
  3. Skriv inn navnet på den opprinnelige bakdatabasen i Filnavn-boksen .
  4. Velg Access-database (*.accdb) i Filtype-boksen.

Til toppen av siden

Flytte poster regelmessig til en arkivtabell

Dette er en firetrinns prosess som krever at du lager en tom kopi av tabellen som inneholder postene du vil arkivere, oppretter en tilføyingsspørring for å kopiere postene fra den opprinnelige tabellen til arkivtabellen, oppretter en slettespørring for å fjerne de arkiverte postene fra den opprinnelige tabellen og til slutt oppretter en makro for å kjøre begge spørringene som kan kjøres når du vil arkivere. Denne tilsynelatende komplekse prosessen kan være enkel hvis du følger trinnene i den rekkefølgen de er presentert nedenfor:

Trinn 1: Opprett en arkivtabell

Trinn 2: Opprette en tilføyingsspørring for å kopiere data til arkivtabellen

Trinn 3: Opprette en slettespørring for å fjerne data fra den opprinnelige tabellen

Trinn 4: Opprette en makro for å kjøre både tilføyings- og slettespørringer

Trinn 1: Opprett en arkivtabell

Hvis du vil beholde alle arkiverte poster i én tabell, utfører du dette trinnet én gang. Arkivtabellen som du oppretter i dette trinnet, inneholder alle de arkiverte postene.

Hvis du vil slette den gamle arkivtabellen når du oppretter en ny, kan du bruke en lag-tabell-spørring til å kopiere dataene til arkivtabellen, i stedet for å utføre dette trinnet. Dette gjør du ved å gå til trinn 2.

For å bruke en ny arkivtabell hver gang du arkiverer, men også for å beholde de gamle arkivtabellene, må du gi den gamle arkivtabellen nytt navn før du oppretter en ny. Hvis du arkiverer basert på en dato, bør du vurdere å navngi de gamle arkivtabellene i henhold til datointervallet de representerer.

  1. Merk tabellen som har poster som skal arkiveres, i navigasjonsruten, trykk CTRL+C, og trykk deretter CTRL+V.
  2. Slett ordene Kopier av i Tabellnavn-boksen, og legg til et understrekingstegn og ordet «arkiv» i det eksisterende tabellnavnet, og klikk deretter OK. Hvis for eksempel den opprinnelige tabellen kalles Transaksjoner , heter arkivtabellen Transactions_archive.
    Lim inn tabell som
  3. Velg Bare struktur under Alternativer for innlimingi dialogboksen Lim inn tabell som.

Trinn 2: Opprette en tilføyingsspørring for å kopiere data til arkivtabellen

  1. I fanen Opprett i gruppen Spørringer, klikker du på Spørreutforming.

  2. Legg til tabellen med postene du vil arkivere.

  3. Dobbeltklikk stjernen (*) i tabellen du nettopp la til, i utformingsvinduet for spørringen. Tabellnavnet og en stjerne vises i den første kolonnen i utformingsrutenettet for spørringen.

    Obs!

    Stjernen angir at spørringen skal inkludere alle feltene fra tabellen i spørringsutdataene. Når du bruker stjernesymbolet, hvis felt legges til eller fjernes fra tabellen, justeres spørringsutdataene tilsvarende.

  4. Dobbeltklikk feltet du vil bruke til å angi en betingelse som poster skal oppfylle før du arkiverer dem, i utformingsvinduet for spørringen. Hvis for eksempel Transaksjoner-tabellen har et felt som heter Innsjekkingsdato, og du vil arkivere alle poster der denne datoen er mer enn ett år gammel, dobbeltklikker du på feltet, og det vises i den neste tomme kolonnen i utformingsrutenettet for spørringen.
    Spørringsutformingsrutenettet
    Gjenta dette trinnet hvis du vil bruke vilkår med flere felt.

  5. Bruk Vilkår-raden til å angi vilkår for feltene du akkurat la til. Du kan for eksempel angi at innsjekkingsdatoen må være før 1. januar 2019 ved hjelp av uttrykket <#1/1/2019# i Vilkår-raden .
    Hvis vilkårsverdiene endres hver gang du arkiverer, bør du få spørringen til å be om inndata. Dette gjør du ved å bruke en parameter i Vilkår-raden , slik at spørringen ber om inndata. For å bruke en parameter bruker du et uttrykk på vanlig måte, men i stedet for en angitt verdi kan du bruke et kort spørsmål i hakeparenteser. Du kan for eksempel bruke uttrykket <[Arkiv transaksjoner fullført før:] slik:
    Parameteruttrykk
    Hvis du vil ha mer informasjon om bruk av parametere, kan du se artikkelen Innføring i spørringer.
    Du kan også bruke eller-raden til å angi alternative betingelser. Hvis du vil ha mer informasjon om bruk av vilkår, kan du se artikkelen Eksempler på spørringsvilkår.

    Tips

    Hvis du bruker et datofelt til å angi vilkår, og du ønsker å arkivere alle poster som er eldre enn gjeldende dato, skriver du inn <Date() i Vilkår-raden for datofeltet.

  6. Gjør ett av følgende:
    Hvis du allerede har opprettet arkivtabellen, bruker du en tilføyingsspørring for å legge til de angitte postene i tabellen:

    1. Klikk kategorien Utforming, velg Vis/skjul-gruppen og klikk Tilføying.
    2. Velg navnet på arkivtabellen i Tabellnavn-boksen i dialogboksen Tilføyd, og klikk deretter OK.
      Tilføy til
      Tilføy til-raden vises i utformingsrutenettet for spørringen.
    3. Fjern Tilføy til-raden for eventuelle felt du brukte til å angi vilkår. (Bare stjernen skal ha en verdi for Tilføy til.)
      Tilføy til-raden i spørringsutformingsrutenettet
      Hvis du ikke har opprettet arkivtabellen, kan du bruke en lag-tabell-spørring til å opprette arkivtabellen ved hjelp av de angitte postene:
    4. Klikk Lag tabell i Spørringstype-gruppen på fanen Utforming.
    5. Skriv inn navnet på arkivtabellen i Tabellnavn-boksen i dialogboksen Lag tabell, og klikk deretter OK.
  7. Trykk CTRL+S for å lagre spørringen.

Trinn 3: Opprette en slettespørring for å fjerne data fra den opprinnelige tabellen

  1. I fanen Opprett i gruppen Spørringer, klikker du på Spørreutforming.

  2. Legg til tabellen med postene du vil arkivere.

  3. Dobbeltklikk stjernen (*) i tabellen du nettopp la til, i utformingsvinduet for spørringen. Tabellnavnet og en stjerne vises i den første kolonnen i utformingsrutenettet for spørringen.

  4. Dobbeltklikk de samme feltene som du brukte til å angi et vilkår i tilføyingsspørringen, i utformingsvinduet for spørringen.

  5. Bruk Vilkår-raden til å angi vilkår for feltene du akkurat la til. Hvis du vil ha mer informasjon om bruk av vilkår, kan du se artikkelen Eksempler på spørringsvilkår.

    Viktig

    Hvis tilføyings- eller lag-tabell-spørringen brukte en parameter, må du sørge for at slettespørringen også gjør dette. Husk også at du angir samme verdi for begge spørringene. Hvis du angir forskjellige parameterverdier, kan du miste data. For å bidra til å unngå tap av data kan du vurdere å bruke et skjema til å samle inn verdiene, og få spørringene til å be skjemaet om inndataverdiene. Hvis du vil ha mer informasjon, kan du se artikkelen Innføring i spørringer.

  6. Klikk Slett i Spørringstype-gruppenUtforming-fanen.
    Slett-raden vises i utformingsrutenettet for spørringen.
    Slett-raden i spørringsutformingsrutenettet

  7. Trykk CTRL+S for å lagre spørringen.

Trinn 4: Opprette en makro for å kjøre både tilføyings- og slettespørringer

  1. Klikk på Makro i gruppen Makroer og kodeOpprett-fanen.
  2. Klikk rullegardinpilen ved siden av Legg til ny handling, og klikk deretter OpenQuery.
    Handlingen OpenQuery vises med sine argumenter.
  3. Velg spørringen (tilføy eller lag-tabell) som du opprettet i trinn 2, i Spørringsnavn-boksen.
  4. Klikk rullegardinpilen ved siden av Legg til ny handling, og klikk deretter OpenQuery.
    Handlingen OpenQuery vises med sine argumenter.
  5. Velg slettespørringen du opprettet i trinn 3, i Spørringsnavn-boksen.
  6. Trykk på CTRL+S for å lagre makroen.
    Når du vil arkivere poster, kjører du makroen.

Til toppen av siden