Applies ToAccess för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Du kan hålla dina Microsoft Access-databaser organiserade och hanterbara genom att regelbundet arkivera gamla eller inaktiva poster. Du kan arkivera alla tabeller i en databas, specifika tabeller eller bara specifika poster , till exempel poster som är äldre än ett visst datum. I det här avsnittet förklaras hur du använder tre olika alternativ för att arkivera data i en Access-databas.

I den här artikeln

När bör du överväga att arkivera?

När en databas på datorn innehåller data som du inte tänker använda längre, men du vill ha dessa data nära till hands om du behöver dem någon gång, eller för att uppfylla en princip för datalagring, är arkivering ett bra sätt att behålla sådana data. Arkivering används också ofta för att lagra data baserat på ett datumvillkor, till exempel i slutet av en månad.

Olika sätt att arkivera data

I följande tabell visas metoder för att arkivera data, en beskrivning av metoden, en förklaring av när du bör använda varje metod och andra specifika överväganden för metoden.

Metod

Beskrivning

Använd när...

Andra överväganden

Byta ut en tabell med jämna mellanrum

Gör då och då en arkivkopia av en viss tabell och ersätter tabellen med en ny, tom tabellkopia.

Alla poster i en tabell uppfyller de villkor som du använder för att avgöra om du vill arkivera.EXEMPEL: Du har en tabell som lagrar extrema dagstemperaturer. Varje år arkiverar du tabellen och börjar om från början med en tom.

Ersätt alla tabeller med jämna mellanrum

Gör regelbundet en arkivkopia av backend-databasen och ersätt sedan backend-databasen med en ny, tom. Kräver en delad databas (en databas som består av en backend-databasfil som innehåller alla tabeller och en frontend-databasfil som innehåller alla andra databasobjekt).

Alla poster i de flesta tabeller i en databas uppfyller det villkor du använder för att avgöra om du vill arkivera.EXEMPEL: Databasen består av flera tabeller med olika typer av meteorologiska data. Varje år arkiverar du alla tabeller.

  • Om du har några uppslagstabeller (tabeller som du använder för att lagra värden för sökning, till exempel postnummer eller avdelningar) kan du behöva importera dessa data till den nya backend-databasen.

  • Du måste arkivera databasen manuellt. Du kan inte använda ett makro för den här metoden.

Flytta poster till en arkivtabell med jämna mellanrum

Kör då och då en fråga som markerar posterna för arkivering och lägger till data i en arkivtabell, och du kör sedan en fråga för att välja samma poster (från den ursprungliga tabellen) och ta bort dem.

Vissa poster i en tabell uppfyller det villkor som du använder för att avgöra om du vill arkivera.EXEMPEL: Du vill arkivera bibliotekstransaktioner (utcheckningar) om incheckat datum är minst ett år gammalt.

  • Kan behöva kringgå referensintegritet, särskilt om de poster som du vill arkivera finns på ena sidan av en en-till-många-relation. Mer information finns i avsnittet Arbeta med referensintegritet .

Varning!: Om du behöver använda parametrar i dina frågor bör du skapa ett formulär för att hantera parametrarna. Annars riskerar du att data går förlorade.

Arbeta med referensintegritet

Om de poster som du vill arkivera är relaterade till poster i andra tabeller kan du behöva kringgå relationen. Om de poster som du vill arkivera är "underordnade" poster (de tillhör N-sidan av en en-till-många-relation ) kan du förmodligen arkivera dem utan att oroa dig. Om de poster som du vill arkivera är "överordnade" poster (de tillhör 1-sidan av en en-till-många-relation ) kan när du arkiverar deras relaterade "underordnade" poster:

  • Förhindra att du tar bort de överordnade posterna. Det kan orsaka problem om du redan har lagt till de "överordnade" posterna i arkivtabellen.

    eller

  • Bli "överblivna" – poster som tillhör en "överordnad" som inte finns. Det kan orsaka problem med dataintegritet och funktioner i databasen som använder de överblivna posterna.

Så här tar du hänsyn till referensintegritet:

  1. Bestäm vilka "underordnade" poster som tillhör de poster som du vill arkivera. Om du till exempel vill arkivera arkivhandlingar över tillgångar som lånas ut till ett bibliotek ska du först avgöra om det finns några transaktioner öppna på dessa tillgångar, det villa: om tillgångarna har checkats ut men inte returnerats.

  2. Gör något av följande:

    • Om "underordnade" poster alltid kan tas bort på ett säkert sätt kontrollerar du att relationen använder referensintegritet med sammanhängande borttagningar. Detta säkerställer att alla relaterade "underordnade" poster tas bort.

    • Om "underordnade" poster inte alltid kan tas bort på ett säkert sätt kan du arkivera alla tabeller i databasen.

    • Skapa en fråga som väljer "överordnade" poster som inte har "underordnade" poster. Använd sedan den första frågan för att skapa dina arkivfrågor (se avsnittet Flytta poster regelbundet till en arkivtabell) i stället för att använda den "överordnade" tabellen.

Överst på sidan

Byta ut en tabell med jämna mellanrum

Om du vill arkivera alla data i en tabell kan du med jämna mellanrum ersätta tabellen med en tom kopia.

Viktigt!: Om tabellen du arkiverar är relaterad till andra tabeller kan du behöva kringgå referensintegritet.

  1. Markera de tabeller du vill arkivera i navigeringsfönstret, tryck på CTRL+C och tryck sedan på CTRL+V.

  2. I dialogrutan Klistra in tabell som under Inklistringsalternativ väljer du Endast struktur och klickar sedan på OK.Kopian namnges som en kopia av det ursprungliga tabellnamnet.

  3. Högerklicka på den ursprungliga tabellen i navigeringsfönstret och klicka sedan på Byt namn på snabbmenyn.Ge tabellen ett annat namn för att ange vad den innehåller, till exempel "DailyTemperatureExtremes_archive_2019".

  4. Högerklicka på den tomma kopian i navigeringsfönstret och klicka sedan på Byt namn på snabbmenyn. Byt namn på den med den ursprungliga tabellens namn.

Överst på sidan

Ersätt alla tabeller med jämna mellanrum

Om du använder en delad databas kan du med jämna mellanrum ersätta alla tabeller genom att ersätta backend-databasen med en tom kopia.

Det gör du genom att först förbereda den tomma kopian. Om inte databasens design ändras kan du återanvända den här tomma kopian varje gång du arkiverar. Om du vill arkivera byter du bara namn på den befintliga backend-databasen för att ange att det är ett arkiv och sparar den tomma kopian som den nya backend-databasen.

Förbereda en tom kopia av en backend-databas

Importera först tabelldefinitionerna för alla tabeller i backend-databasen.

  1. Klicka på Ny på fliken Arkiv, välj Tom databas och klicka sedan på Skapa.

  2. Stäng Tabell1.

  3. Klicka på Access i gruppen Importera & Länk på fliken Externa data.

  4. I dialogrutan Hämta externa data – Access-databas väljer du Importera tabeller, frågor, formulär, rapporter, makron och moduler till den aktuella databasen och klickar sedan på Bläddra.

  5. Välj backend-databasen i dialogrutan Öppna . Klicka på Öppna för att stänga dialogrutan Öppna och klicka sedan på OK.

  6. Klicka på Alternativ i dialogrutan Importera objekt.

  7. Under Importera tabeller väljer du Endast definition.

  8. Klicka på Markera alla på fliken Tabeller, klicka på OK och sedan på Stäng.

Lägga till data i uppslagstabeller i den tomma kopian 

Gör följande för varje uppslagstabell:

  1. Länka till uppslagstabellen i den befintliga backend-databasen.

  2. Skapa en tilläggsfråga som lägger till alla poster från originalet i kopian.

Ersätta backend-databasen med en tom kopia

Byt först namn på den befintliga backend-databasen för att ange att den nu är ett arkiv. Öppna sedan den tomma kopian och spara den med det ursprungliga serverdelens databasnamn.

  1. Klicka på fliken Arkiv och sedan på Spara databas som. Du kan uppmanas att stänga alla öppna objekt. i såfall klickar du på OK. Dialogrutan Spara som öppnas.

  2. I rutan Spara i (högst upp i dialogrutan Spara som ) kontrollerar du att du sparar filen på samma plats som den ursprungliga backend-databasen.

  3. I rutan Filnamn anger du namnet på den ursprungliga backend-databasen.

  4. I rutan Filformat väljer du Access-databas (*.accdb).

Överst på sidan

Flytta poster till en arkivtabell med jämna mellanrum

Det här är en process i fyra steg som kräver att du gör en tom kopia av tabellen som innehåller de poster som du vill arkivera, skapar en tilläggsfråga för att kopiera posterna från den ursprungliga tabellen till arkivtabellen, skapa en ta bort fråga för att ta bort de arkiverade posterna från den ursprungliga tabellen och slutligen skapa ett makro för att köra båda frågorna som kan köras när du vill arkivera. Den här till synes komplexa processen kan vara enkel om du följer stegen i den ordning som de presenteras nedan:

Steg 1: Skapa en arkivtabell

Steg 2: Skapa en tilläggsfråga för att kopiera data till arkivtabellen

Steg 3: Skapa en borttagningsfråga för att ta bort data från den ursprungliga tabellen

Steg 4: Skapa ett makro för att köra både tilläggsfrågor och borttagningsfrågor

Steg 1: Skapa en arkivtabell

Om du vill behålla alla arkiverade poster i en tabell gör du det här steget en gång. Arkivtabellen som du skapar i det här steget innehåller alla dina arkiverade poster.

Om du vill ta bort den gamla arkivtabellen när du skapar en ny kan du använda ett tabellfråga för att kopiera data till arkivtabellen i stället för att utföra det här steget. Det gör du genom att gå till steg 2.

Om du vill använda en ny arkivtabell varje gång du arkiverar, men även för att behålla dina gamla arkivtabeller, byter du namn på den gamla arkivtabellen innan du skapar en ny. Om du arkiverar baserat på ett datum kan du namnge dina gamla arkivtabeller efter det datumintervall som de representerar.

  1. Markera den tabell i navigeringsfönstret som innehåller poster att arkivera, tryck på CTRL+C och tryck sedan på CTRL+V.

  2. I rutan Tabellnamn tar du bort orden Kopia av och lägger till ett understreck och ordet "arkivera" i det befintliga tabellnamnet och klickar sedan på OK. Om den ursprungliga tabellen till exempel heter Transaktioner heter arkivtabellen Transactions_archive.

    Klistra in tabell som

  3. Välj Endast struktur under Inklistringsalternativ i dialogrutan Klistra in tabell som.

Steg 2: Skapa en tilläggsfråga för att kopiera data till arkivtabellen

  1. Klicka på Frågedesign i gruppen Frågor på fliken Skapa.

  2. Lägg till tabellen med de poster som du vill arkivera.

  3. I frågedesignfönstret dubbelklickar du på asterisken (*) i tabellen som du just lagt till. Tabellnamnet och en asterisk visas i den första kolumnen i frågerutnätet.

    Obs!: Asterisken anger att frågan ska innehålla alla fält från tabellen i frågeresultatet. Om fält läggs till eller tas bort från tabellen justeras frågeresultatet när du använder asterisken.

  4. I frågedesignfönstret dubbelklickar du på fältet som du vill använda för att ange ett villkor som posterna ska uppfylla innan du arkiverar dem. Om tabellen Transaktioner till exempel har ett fält med namnet Incheckat datum och du vill arkivera alla poster där datumet är mer än ett år gammalt dubbelklickar du på fältet och det visas i nästa tomma kolumn i frågerutnätet.

    Frågerutnät

    Upprepa det här steget om du vill använda villkor med ytterligare fält.

  5. Använd raden Villkor för att ange villkor för fälten som du just lagt till. Du kan till exempel ange att incheckat datum måste vara tidigare än 1 januari 2019 genom att använda uttrycket <#1/1/2019# på raden Villkor .

    Om villkorsvärdena ändras varje gång du arkiverar bör du få frågan att be om indata. Det gör du genom att använda en parameter på raden Villkor så att frågan begär indata. Om du vill använda en parameter använder du ett uttryck som vanligt, men i stället för ett angivet värde kan du använda en kort fråga omgiven av hakparenteser. Du kan till exempel använda uttrycket <[Arkivera transaktioner slutförda före:], så här:

    Parameteruttryck

    Mer information om hur du använder parametrar finns i artikeln Introduktion till frågor.

    Du kanske också vill använda raden eller för att ange alternativa villkor. Mer information om hur du använder villkor finns i artikeln Exempel på frågevillkor.

    Tips: Om du använder ett datumfält för att ange villkor och vill arkivera alla poster som är äldre än dagens datum anger du <Datum() på raden Villkor för datumfältet.

  6. Gör något av följande:

    Om du redan har skapat arkivtabellen använder du en tilläggsfråga för att lägga till de angivna posterna i tabellen:

    1. Klicka på Lägg till i gruppen Frågetyp på fliken Design.

    2. I dialogrutan Lägg till i rutan Tabellnamn väljer du namnet på arkivtabellen och klickar sedan på OK.

      Tillägg till

      I frågerutnätet visas raden Lägg till i .

    3. Avmarkera raden Lägg till i för alla fält som du använde för att ange villkor. (Endast asterisken ska ha ett värde för Lägg till i.)

      Raden Tillägg till i frågerutnätet

      Om du inte har skapat arkivtabellen använder du en tabellfråga för att skapa arkivtabellen med hjälp av de angivna posterna:

    4. Klicka på Tabellfråga i gruppen Frågetyp på fliken Design.

    5. Skriv namnet på arkivtabellen i rutan Tabellnamn i dialogrutan Skapa tabell och klicka sedan på OK.

  7. Spara frågan genom att trycka på CTRL+S.

Steg 3: Skapa en borttagningsfråga för att ta bort data från den ursprungliga tabellen

  1. Klicka på Frågedesign i gruppen Frågor på fliken Skapa.

  2. Lägg till tabellen med de poster som du vill arkivera.

  3. I frågedesignfönstret dubbelklickar du på asterisken (*) i tabellen som du just lagt till. Tabellnamnet och en asterisk visas i den första kolumnen i frågerutnätet.

  4. I frågedesignfönstret dubbelklickar du på samma fält som du använde för att ange ett villkor i tilläggsfrågan.

  5. Använd raden Villkor för att ange villkor för fälten som du just lagt till. Mer information om hur du använder villkor finns i artikeln Exempel på frågevillkor.

    Viktigt!: Om tilläggs- eller tabellfrågan använde en parameter kontrollerar du att även borttagningsfrågan gör det. Kom också ihåg att du anger samma värde för båda frågorna. Om du anger olika parametervärden kan data gå förlorade. För att förhindra dataförlust kan du använda ett formulär för att samla in värden och få frågorna att fråga formuläret om indatavärdena. Mer information finns i artikeln Introduktion till frågor.

  6. Klicka på Ta bort i gruppen Frågetyp på fliken Design.

    Raden Ta bort visas i frågerutnätet.

    Raden Ta bort i frågerutnätet

  7. Spara frågan genom att trycka på CTRL+S.

Steg 4: Skapa ett makro för att köra både tilläggsfrågor och borttagningsfrågor

  1. Gå till fliken Skapa, i gruppen Makron och kod, och klicka på Makro.

  2. Klicka på pilen i den nedrullningsbara listrutan bredvid Lägg till ny åtgärd och klicka sedan på OpenQuery.

    Instruktionen ÖppnaFråga visas och visar argumenten.

  3. I rutan Frågenamn väljer du frågan (tillägg eller tabell) som du skapade i steg 2.

  4. Klicka på pilen i den nedrullningsbara listrutan bredvid Lägg till ny åtgärd och klicka sedan på OpenQuery.

    Instruktionen ÖppnaFråga visas och visar argumenten.

  5. Markera borttagningsfrågan som du skapade i steg 3 i rutan Frågenamn.

  6. Spara makrot genom att trycka på CTRL+S.

    Kör makrot när du vill arkivera poster.

Överst på sidan

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.