Arkivera information i Access

Viktigt!: Den här artikeln är maskinöversatt, se ansvarsfriskrivningen. Den engelska versionen av den här artikeln finns här för din referens.

Du kan ordna din information genom att regelbundet arkivera gamla eller inaktiva poster. Exempel: Anta att du använder Access för att hantera ett utlåningsbibliotek. Du kan ha en tabell för att spåra lånetransaktioner, med ett fält för det datum då objektet lånades ut och ett fält för det datum då objektet lämnades tillbaka. Din dataförvaringsprincip kan till exempel vara att arkivera lånetransaktioner ett år efter att objektet lämnas tillbaka, och att förstöra posterna efter två år.

Du kan välja att arkivera alla tabeller i en databas, angivna tabeller eller endast angivna poster – till exempel poster som är äldre än ett angivet datum. I det här avsnittet beskrivs hur du arkiverar information.

I den här artikeln

Översikt

Flytta poster regelbundet till en arkiveringstabell

Ersätta en tabell regelbundet

Ersätta alla tabeller regelbundet

Översikt

Att arkivera information kan vara användbart om du har information som du inte behöver använda längre, men som du ändå vill behålla för säkerhets skull. Du kan skapa en princip som styr arkiveringen, till exempel en dataförvaringsprincip.

Arkivering används ofta för att spara information utifrån ett datumvillkor, till exempel i slutet av varje månad.

Olika sätt att arkivera information

I tabellen nedan visas olika metoder för arkivering, information om när du kan använda metoderna och annan viktig information.

Metod

Beskrivning

Används om...

Annan viktig information

Flytta poster regelbundet till en arkiveringstabell

Med regelbundna mellanrum körs en fråga som markerar den information som ska arkiveras. Informationen läggs sedan till i en arkiveringstabell. Därefter körs en fråga som markerar samma information i den ursprungliga tabellen och tar bort den.

En del av posterna i en tabell uppfyller det villkor som du använder för att ange vilken information som ska arkiveras.

EXEMPEL: Du vill arkivera bibliotekstransaktioner (utlåningar) om återlämningsdatumet ligger minst ett år tillbaka i tiden.

  • Du kan behöva lösa eventuella problem med referensintegritet, särskilt om de poster som du vill arkivera är en del av "ett" i ett en-till-många-relation.

  • Om du behöver använda parametrar i frågorna bör du skapa ett formulär för att hantera parametrarna. Om du inte gör detta finns det en risk för dataförlust.

Ersätta en tabell regelbundet

Med regelbundna mellanrum skapas en arkiverad kopia av en angiven tabell, och därefter ersätts tabellen med en ny, tom version av tabellen.

Alla poster i en tabell uppfyller det villkor som du använder för att ange vilken information som ska arkiveras.

EXEMPEL: Du har en tabell där de högsta och lägsta temperaturerna för varje dag lagras. Varje år arkiverar du tabellen och börjar om med en tom tabell.

  • Du kan behöva lösa eventuella problem med referensintegritet.

Ersätta alla tabeller regelbundet

Från början har du en delad databas (en databas som består av dels en serverdatabasfil som innehåller alla tabeller, dels en klientdatabasfil som innehåller alla övriga databasobjekt). Med regelbundna mellanrum skapas en arkiverad kopia av serverdatabasen, och därefter ersätts serverdatabasen med en ny, tom version.

Alla poster i de flesta av tabellerna i databasen uppfyller det villkor som du använder för att ange vilken information som ska arkiveras.

EXEMPEL: Databasen består av flera tabeller med olika typer av meteorologisk information. Varje år arkiverar du samtliga tabeller.

  • Om du använder uppslagstabeller (tabeller som används för att lagra värden för uppslag, till exempel postnummer eller avdelningar) kan du behöva importera informationen från dessa tabeller till den nya serverdatabasen.

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

Lösa problem med referensintegritet

Om de poster som du vill arkivera är relaterade till poster i andra tabeller kan du behöva skapa en lösning så att det här sambandet inte påverkas. Om posterna som du vill arkivera är underordnade poster (om de är en del av "många" i ett en-till-många-relation) kan du förmodligen arkivera posterna utan att behöva göra något mer. Om posterna som du vill arkivera är överordnade poster (om de är en del av "ett" i ett en-till-många-relation) kan följande hända när du arkiverar de överordnade posterna:

  • De överordnade posterna kanske inte kan tas bort. Detta kan orsaka problem om du redan har lagt till de överordnade posterna i arkiveringstabellen.

    - eller -

  • De underordnade posterna kan bli överblivna – underordnade poster som saknar en överordnad post. Detta kan orsaka problem med dataintegritet och andra funktioner i databasen där de överblivna posterna används.

Gör så här för att åtgärda problem med referensintegritet:

  1. Kontrollera vilka underordnade poster som hör till de poster som du vill arkivera. Om du till exempel vill arkivera poster för tillgångar som du lånar ut från ett bibliotek ska du först kontrollera om det finns öppna transaktioner för tillgångarna, det vill säga om tillgångarna har lånats ut men inte lämnats tillbaka.

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

    • Om det alltid går att ta bort de underordnade posterna på ett säkert sätt kontrollerar du att relationen innebär att referensintegritet genomdrivs, med sammanhängande borttagning. Detta gör att alla underordnade poster tas bort.

    • Om de underordnade posterna inte alltid kan tas bort på ett säkert sätt bör du överväga att arkivera alla tabeller i databasen.

    • Skapa en fråga som markerar alla överordnade poster som det inte finns några underordnade poster för. Använd sedan denna fråga för att skapa arkivfrågor (läs mer i avsnittet Flytta poster regelbundet till en arkivtabell), i stället för att använda den överordnade tabellen.

      Tips: Du kan använda frågeguiden för att hitta omatchade poster. Mer information finns i artikeln Jämföra två tabeller och söka efter omatchade poster.

Överst på sidan

Flytta poster regelbundet till en arkiveringstabell

Skapa en tom kopia av den tabell som innehåller de poster som du vill arkivera. Den nya tomma tabellen är arkiveringstabellen. Skapa sedan en lägg till fråga för att kopiera poster från den ursprungliga tabellen till arkiveringstabellen. Därefter skapar du en ta bort fråga för att ta bort de arkiverade posterna från den ursprungliga tabellen. Slutligen skapar du ett makro för att köra båda frågorna. Kör makrot varje gång du vill arkivera poster.

Tips: Du kan koppla ett makro till en knapp i ett formulär så att makrot körs varje gång någon klickar på knappen.

Steg 1: Skapa en arkiveringstabell

Steg 2: Skapa en fråga som kopierar information till arkiveringstabellen

Steg 3: Skapa en borttagningsfråga som tar bort samma information från den ursprungliga tabellen

Steg 4: Skapa ett makro som kör båda frågorna

Steg 1: Skapa en arkiveringstabell

Om du vill behålla alla arkiverade poster i en enda tabell behöver du bara utföra det här steget en gång. Den arkiveringstabell som du skapar i det här steget kommer att innehålla samtliga arkiverade poster.

Om du vill att den gamla arkiveringstabellen ska förstöras när du skapar en ny tabell behöver du inte utföra det här steget. Du kan använda en tabellfråga i stället för en tilläggsfråga för att kopiera informationen till arkiveringstabellen. Om du vill göra detta går du vidare till steg 2.

Om du vill att en ny arkiveringstabell ska användas varje gång du arkiverar, och du vill behålla de gamla arkiveringstabellerna, byter du namn på den gamla arkiveringstabellen innan du skapar en ny. Om du arkiverar utifrån ett datumvillkor kan det vara en bra idé att ge gamla arkiveringstabeller namn efter det datum som de motsvarar.

Obs!: Om du vill skapa en ny arkiveringstabell vid varje arkivering och behålla den gamla tabellen måste du byta namn på den gamla tabellen innan du kör frågorna.

  1. I navigeringsfönstret markerar du den tabell som innehåller poster som du vill arkivera. Tryck på CTRL+C och sedan på CTRL+V.

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

  3. Ta bort ord Kopia av och lägga till ett understreck och word "Arkiv" i befintligt tabellnamn i rutan Tabellnamn. Om den ursprungliga tabellen heter transaktioner är tabellen Arkiv heter Transactions_archive.

    Klistra in tabell som

Steg 2: Skapa en fråga som kopierar information till arkiveringstabellen

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

  2. I dialogrutan Visa tabell kan du lägga till den tabell som innehåller de poster som du vill arkivera. Stäng dialogrutan Visa tabell.

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

    Obs!: Asterisken visar att frågan ska inkludera samtliga fält från tabellen i frågeutdata. Om du använder asterisken och fält läggs till i eller tas bort från tabellen ändras frågeutdata i enlighet med förändringen.

  4. I frågedesignfönstret dubbelklickar du på det fält som du vill använda för att ange ett villkor som poster ska uppfylla för att arkiveras. Exempel: Om du har en tabell med namnet Transaktioner som innehåller fältet Återlämningsdatum, och vill arkivera alla poster där detta datum ligger minst ett år tillbaka i tiden, så dubbelklickar du på Återlämningsdatum. Fältet visas i nästa tomma kolumn i frågerutnätet.

    Frågerutnät

    Upprepa det här steget om du vill använda kriterierna för ytterligare fält.

  5. På raden Villkor anger du villkor för de fält som du just har lagt till. Du kan till exempel ange att värdet för Återlämningsdatum måste vara tidigare än 1 januari 2008, genom att ange uttrycket <#2008-01-01# på raden Villkor.

    Om villkorsvärdena ändras varje gång du arkiverar bör du skapa en fråga som begär indata. Du gör detta genom att använda en parameter på raden Villkor för att begära indata. När du vill använda en parameter skriver du ett uttryck som vanligt, men i stället för att ange ett specifikt värde skriver du en kort fråga som omsluts av hakparenteser. Du kan till exempel använda uttrycket <[Arkivera transaktioner som har slutförts före:], på följande sätt:

    Parameteruttryck

    Mer information om hur du använder parametrar finns i artikeln Använda parametrar i frågor och rapporter.

    Du kan också 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 du 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 en arkiveringstabell måste du skapa 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. Markera namnet på arkiveringstabellen i rutan Tabellnamn i dialogrutan Tilläggsfråga och klicka på OK.

        Tillägg till

        Raden Tillägg till visas i frågerutnätet.

      3. Avmarkera raden Tillägg till för de fält som du har använt för att ange villkor. (Endast fältet som är markerat med en asterisk ska innehålla ett värde för Tillägg till.)

        Raden Tillägg till i frågerutnätet

    • Om du inte har skapat arkiveringstabellen måste du skapa en tabellfråga för att skapa arkiveringstabellen med de angivna posterna.

      1. Klicka på Skapa tabell i gruppen Frågetyp på fliken Design.

      2. Skriv namnet på arkiveringstabellen i rutan Tabellnamn i dialogrutan Tabellfråga och klicka på OK.

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

Steg 3: Skapa en borttagningsfråga som tar bort samma information från den ursprungliga tabellen

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

  2. I dialogrutan Visa tabell kan du lägga till den tabell som innehåller de poster som du vill arkivera. Stäng dialogrutan Visa tabell.

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

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

  5. På raden Villkor anger du villkor för de fält som du just har lagt till. Mer information om hur du använder villkor finns i artikeln Exempel på frågevillkor.

    Viktigt!: Om du har använt en parameter i tilläggs- eller tabellfrågan ska även borttagningsfrågan innehålla parametern. Dessutom måste du ange samma värde för båda frågorna. Om du anger olika parametervärden kan du förlora data. Om du vill undvika dataförluster kan du använda ett formulär för att samla in värdena och formulera frågorna så att de begär indatavärden från formuläret. Mer information finns i artikeln Använda parametrar i frågor och rapporter.

  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 som kör båda frågorna

  1. Klicka på Makro i gruppen Annat på fliken Skapa. Om kommandot inte finns tillgängligt kan du klicka på pilen under knappen Modul eller Klassmodul och sedan klicka på Makro.

  2. I kolumnen Instruktion på den första raden i makrorutnätet väljer du ÖppnaFråga.

    Makroåtgärden Öppna fråga

  3. I rutan Frågenamn under Instruktionsargument längst ned i rutnätet markerar du den tilläggs- eller tabellfråga som du skapade i steg 2 i den nedrullningsbara listan.

    Makroåtgärden Öppna fråga: frågeargument

  4. Välj ÖppnaFråga i kolumnen Instruktion på den andra raden i makrorutnätet.

  5. I rutan Frågenamn under Instruktionsargument längst ned i rutnätet markerar du borttagningsfrågan i den nedrullningsbara listan.

    Makrot ska nu se ut ungefär så här:

    Makro som kan sparas

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

    Kör makrot varje gång du vill arkivera poster.

Överst på sidan

Ersätta en tabell regelbundet

Om du alltid vill arkivera alla data i en tabell behöver du inte använda frågor eller makron. I stället kan du regelbundet ersätta tabellen med en tom kopia.

Viktigt!: Om den tabell som du arkiverar är relaterad till andra tabeller kan du behöva lösa eventuella problem med referensintegritet.

  1. I navigeringsfönstret markerar du den tabell som du vill arkivera. Tryck på CTRL+C och sedan på CTRL+V.

  2. Välj Endast struktur under Inklistringsalternativ i dialogrutan Klistra in tabell som och klicka sedan på OK.

    Access kalkylbladsnamn kopia kopia av ursprungliga tabellnamn.

  3. Högerklicka på den ursprungliga tabellen i navigeringsfönstret och klicka på Byt namn på den snabbmeny som visas.

    Ange ett namn för tabellen som visar vad den innehåller, till exempel "HögstaLägstaDagstemperaturer_arkiv_2007".

  4. Högerklicka på den tomma kopian i navigeringsfönstret och klicka på Byt namn på den snabbmeny som visas.

    Ange det ursprungliga tabellnamnet för den tomma kopian.

Överst på sidan

Ersätta alla tabeller regelbundet

Om du använder en delad databas kan du välja att regelbundet ersätta alla tabeller genom att ersätta serverdatabasen med en tom kopia.

Börja med att skapa den tomma kopian. Förutsatt att du inte ändrar databasdesignen kan du använda den här kopian på nytt varje gång du arkiverar. Varje gång du vill arkivera byter du namn på den befintliga serverdatabasen för att ange att den är en arkivdatabas, och därefter sparar du den tomma kopian som en ny serverdatabas.

Skapa en tom kopia av en serverdatabas

Importera tabelldefinitionerna för alla tabeller i serverdatabasen.

  1. Skapa en ny, tom databas. Ta bort Tabell1.

  2. Åtkomst på fliken Externa Data i gruppen Importera.

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

  4. Markera serverdatabasen i dialogrutan Öppna. Klicka på Öppna för att stänga dialogrutan Öppna och klicka på OK.

  5. Klicka på Alternativ i dialogrutan Importera objekt.

  6. Välj Endast definition under Importera tabeller.

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

Fortsätt med att lägga till data i alla eventuella uppslagstabeller i den tomma kopian. Gör följande för varje uppslagstabell:

  1. Skapa en länk till uppslagstabellen i den befintliga serverdatabasen.

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

Ersätta serverdatabasen med en tom kopia

Byt först namn på den befintliga serverdatabasen för att ange att den är en arkivdatabas.

Öppna sedan den tomma kopian och spara den med namnet på den ursprungliga databasen.

  1. Klicka på Microsoft Office-knappen Bild av Office-knappen och peka sedan på Spara som. Spara som-menyn öppnas.

  2. Klicka på Access 2007-databas under Spara databasen i ett annat format.

Överst på sidan

Obs!: Ansvarsfriskrivning för maskinöversättning: Den här artikeln har översatts av ett datorsystem utan mänsklig inblandning. Microsoft erbjuder dessa maskinöversättningar för att hjälpa icke engelskspråkiga användare att ta del av information om Microsofts produkter, tjänster och tekniker. Eftersom artikeln är maskinöversatt kan den innehålla fel i ordval, syntax och grammatik.

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×