Sie können Ihre Daten besser organisieren, indem Sie alte oder inaktive Datensätze regelmäßig archivieren. Angenommen, Sie nutzen Access zum Verwalten einer Leihbücherei. Sie verfügen dann über eine Tabelle, in der Ausleihvorgänge nachverfolgt werden, wobei ein Feld das Ausleihdatum und ein anderes das Rückgabedatum enthält. Ihre Datensatzaufbewahrungsrichtlinie kann so aussehen, dass Datensätze zu Ausleihvorgängen ein Jahr nach der Buchrückgabe archiviert und nach zwei Jahren endgültig gelöscht werden.
Sie können alle Tabellen in einer Datenbank, bestimmte Tabellen oder nur bestimmte Datensätze archivieren, z. B. Datensätze, die älter als ein bestimmtes Datum sind. Unter diesem Thema wird die Archivierung von Daten erläutert.
Inhalt dieses Artikels
Übersicht
Sie sollten die Archivierung von Daten in Erwägung ziehen, wenn es Daten gibt, die nicht mehr genutzt werden, aber nötigenfalls zur Hand sein sollen. Ggf. gibt es eine Richtlinie für Ihre Archivierungspläne, z. B. eine Datenaufbewahrungsrichtlinie.
Die Archivierung dient häufig zum Speichern von Daten abhängig von einer Terminbedingung, z. B. dem kommenden Monatsende.
Archivierungsmöglichkeiten
In der folgenden Tabelle sind Methoden zur Datenarchivierung und andere Aspekte beschrieben.
| Methode |
Beschreibung |
Verwendung |
Andere Aspekte |
| Regelmäßiges Verschieben von Datensätzen in eine Archivtabelle |
Sie führen regelmäßig eine Abfrage zum Auswählen der zu archivierenden Daten aus, und fügen die Daten an eine Archivtabelle an. Anschließend führen Sie eine Abfrage zum Auswählen derselben Daten (in der Originaltabelle) und zum Löschen dieser Daten aus. |
Einige der Datensätze in einer Tabelle erfüllen die Bedingung, anhand der Sie bestimmen, ob eine Archivierung erfolgen soll.
BEISPIEL: Sie möchten Büchereivorgänge (Auscheckvorgänge) archivieren, wenn das Eincheckdatum mindestens ein Jahr her ist. |
- Sie müssen ggf. die referenzielle Integrität (Referenzielle Integrität: Regeln, deren Einhaltung beim Hinzufügen, Aktualisieren oder Löschen von Datensätzen überprüft wird, um die definierten Beziehungen zwischen Tabellen beizubehalten.) umgehen, insbesondere, wenn sich die Datensätze, die Sie archivieren möchten, auf der "1:"-Seite einer 1:n-Beziehung (1:n-Beziehung: Eine Verbindung zwischen zwei Tabellen, bei der der Primärschlüsselwert jedes Datensatzes in der Mastertabelle mit dem Wert im entsprechenden Feld bzw. den entsprechenden Feldern von mehreren Datensätzen in der verknüpften Tabelle übereinstimmt.) befinden.
- Wenn Sie Parameter (Parameterabfrage: Eine Abfrage, in der der Benutzer interaktiv einen oder mehrere Kriterienwerte angibt. Eine Parameterabfrage ist kein eigener Abfragetyp, sondern sie erweitert die Flexibilität von Abfragen.) in Ihren Abfragen verwenden müssen, muss zum Verarbeiten der Parameter ein Formular erstellt werden. Andernfalls riskieren Sie einen Datenverlust.
|
| Regelmäßiges Ersetzen einer Tabelle |
Sie erstellen regelmäßig eine Archivkopie einer bestimmten Tabelle, die Sie anschließend durch eine neue, leere Kopie ersetzen. |
Alle Datensätze in einer Tabelle erfüllen die Bedingung, anhand der Sie bestimmen, ob eine Archivierung erfolgen soll.
BEISPIEL: Sie haben eine Tabelle, in der die tägliche Höchst- und Tiefsttemperatur gespeichert wird. Jedes Jahr archivieren Sie die Tabelle und beginnen wieder mit einer leeren Tabelle. |
- Sie müssen ggf. die referenzielle Integrität umgehen.
|
| Regelmäßiges Ersetzen aller Tabellen |
Sie beginnen mit einer geteilten Datenbank (einer Datenbank, die aus einer "Back-End"-Datenbankdatei mit allen Tabellen und einer "Front-End"-Datenbankdatei mit allen weiteren Datenbankobjekten besteht). Sie erstellen regelmäßig eine Archivkopie der Back-End-Datenbank und ersetzen anschließend diese Datenbank durch eine leere Datenbank. |
Alle Datensätze in den meisten Tabellen Ihrer Datenbank erfüllen die Bedingung, anhand der Sie bestimmen, ob eine Archivierung erfolgen soll.
BEISPIEL: Ihre Datenbank besteht aus mehreren Tabellen mit verschiedenen Arten meteorologischer Daten, die Sie jährlich archivieren. |
- Falls Sie über Nachschlagetabellen verfügen (Tabellen, die zum Speichern nachzuschlagender Werte wie Postleitzahlen oder Abteilungen dienen), müssen Sie deren Daten ggf. in die neue Back-End-Datenbank importieren.
- Hierzu können Sie kein Makro verwenden. Sie müssen die Datenbank manuell archivieren.
|
Umgehen der referenziellen Integrität
Wenn die zu archivierenden Datensätze in Beziehung zu Datensätzen in anderen Tabellen stehen, müssen Sie die Beziehung umgehen. Wenn die zu archivierenden Datensätze "untergeordnete" Datensätze sind (die zur "n"-Seite einer 1:n-Beziehung (1:n-Beziehung: Eine Verbindung zwischen zwei Tabellen, bei der der Primärschlüsselwert jedes Datensatzes in der Mastertabelle mit dem Wert im entsprechenden Feld bzw. den entsprechenden Feldern von mehreren Datensätzen in der verknüpften Tabelle übereinstimmt.) gehören), können Sie sie wahrscheinlich ohne Weiteres sicher archivieren. Wenn die zu archivierenden Datensätze "übergeordnete" Datensätze sind (die zur "1:"-Seite einer 1:n-Beziehung (1:n-Beziehung: Eine Verbindung zwischen zwei Tabellen, bei der der Primärschlüsselwert jedes Datensatzes in der Mastertabelle mit dem Wert im entsprechenden Feld bzw. den entsprechenden Feldern von mehreren Datensätzen in der verknüpften Tabelle übereinstimmt.) gehören), geschieht bei Archivierung ihrer dazugehörigen "untergeordnete" Datensätze ggf. Folgendes:
- Sie werden am Löschen der "untergeordneten" Datensätze gehindert, was Probleme verursachen kann, wenn Sie die "übergeordneten" Datensätze bereits an die Archivtabelle angefügt haben.
-oder-
- Die Datensätze werden zu "Waisen", d. h. sie gehören zu einem nicht vorhandenen "übergeordneten" Datensatz. Dies kann zu Problemen bei der Datenintegrität und verschiedenen Funktionen in Ihrer Datenbank führen, welche die "verwaisten" Datensätze verwenden.
Führen Sie zum Berücksichtigen der referenziellen Integrität die folgenden Schritte aus:
- Bestimmen Sie, welche "untergeordneten" Datensätze zu den zu archivierenden Datensätzen gehören. Wenn z. B. Datensätze zu Medien archiviert werden soll, die in einer Bücherei ausgeliehen werden, muss zuerst geprüft werden, ob diese Medien noch offene Vorgänge ausweisen, d. h. ob sie ausgecheckt, aber nicht zurückgegeben wurden.
- Führen Sie eine der folgenden Aktionen aus:
Seitenanfang
Regelmäßiges Verschieben von Datensätzen in eine Archivtabelle
Erstellen Sie zuerst eine leere Kopie der Tabelle mit Datensätzen, die Sie archivieren möchten. Diese neue leere Tabelle ist Ihre Archivtabelle. Als Nächstes erstellen Sie eine Anfügeabfrage (Anfügeabfrage: Eine Aktionsabfrage, die die Datensätze eines Resultsets für eine Abfrage zum Ende einer Tabelle hinzufügt.), um Datensätze aus der Originaltabelle in die Archivtabelle zu kopieren. Danach erstellen Sie eine Löschabfrage (Löschabfrage: Eine Abfrage [SQL-Anweisung], die Zeilen aus einer oder mehreren Tabellen löscht, wenn bestimmte angegebene Kriterien erfüllt sind.), um die archivierten Datensätze aus der Originaltabelle zu entfernen. Schließlich erstellen Sie ein Makro, das beide Abfragen ausführt. Führen Sie das Makro aus, um Datensätze zu archivieren.
Tipp Sie können beispielsweise ein Makro einer Schaltfläche auf einem Formular zuordnen, damit das Makro jedes Mal ausgeführt wird, wenn auf die Schaltfläche geklickt wird.
Schritt 1: Erstellen einer Archivtabelle
Wenn Sie alle archivierten Datensätze in einer Tabelle speichern möchten, müssen Sie diesen Schritt nur einmal ausführen. Die Archivtabelle, die Sie in diesem Schritt erstellen, enthält anschließend alle Ihre archivierten Datensätze.
Wenn Sie beim Erstellen einer neuen Tabelle Ihre alte Archivtabelle dauerhaft löschen möchten, ist dieser Schritt überflüssig. Sie können eine Tabellenerstellungsabfrage (Tabellenerstellungsabfrage: Eine Abfrage (SQL-Anweisung), durch die eine neue Tabelle und anschließend Datensätze (Zeilen) erstellt werden, indem Datensätze aus einer vorhandenen Tabelle kopiert werden.) anstelle einer Anfügeabfrage verwenden, um die Daten in Ihre Archivtabelle zu kopieren. Fahren Sie hierzu mit Schritt 2 fort.
Wenn Sie bei jeder Archivierung eine neue Archivtabelle verwenden und Ihre alten Archivtabellen behalten möchten, benennen Sie vor Erstellen einer neuen Archivtabelle die alte um. Wenn die Archivierung basierend auf einem Datum erfolgt, können Sie Ihre alten Archivtabellen gemäß ihrem Datumsbereich benennen.
Hinweis Wenn Sie jedes Mal eine neue Archivtabelle erstellen und die alte behalten, müssen Sie die alte Archivtabelle umbenennen, bevor Sie Ihre Abfragen ausführen.
- Wählen Sie im Navigationsbereich die Tabelle mit zu archivierenden Datensätzen aus, drücken Sie STRG+C und dann STRG+V.
- Wählen Sie im Dialogfeld Tabelle einfügen als unter Einfügeoptionen die Option Nur Struktur aus.
- Löschen Sie im Feld Tabellenname die Worte Kopie von, fügen Sie an den vorhandenen Tabellennamen einen Unterstrich und das Wort "Archiv" an, und klicken Sie anschließend auf OK. Wenn beispielsweise der Originaltabellenname Transaktionen lautet, wird die Archivtabelle mit Transaktionen_Archiv benannt.

Schritt 2: Erstellen einer Abfrage, die Daten in die Archivtabelle kopiert
- Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Abfrageentwurf.
- Fügen Sie im Dialogfeld Tabelle anzeigen die Tabelle mit den zu archivierenden Datensätzen hinzu. Schließen Sie das Dialogfeld Tabelle anzeigen.
- Doppelklicken Sie im Abfrageentwurfsfenster auf das Sternchen (*) in der Tabelle, die Sie zuvor hinzugefügt haben. Der Tabellenname und ein Sternchen werden in der ersten Spalte des Abfrageentwurfsbereichs angezeigt.
Hinweis Das Sternchen gibt an, dass die Abfrage alle Felder der Tabelle in der Abfrageausgabe enthalten soll. Wenn bei Verwenden des Sternchens Felder der Tabelle hinzugefügt oder aus ihr entfernt werden, wird die Abfrageausgabe entsprechend angepasst.
- Doppelklicken Sie im Abfrageentwurfsfenster auf das Feld, das Sie zur Angabe einer Bedingung verwenden möchten, die Datensätze erfüllen müssen, bevor Sie sie archivieren. Angenommen, Ihre Tabelle "Transaktionen" hat das Feld "Eincheckdatum" und Sie möchten alle Datensätze archivieren, bei denen dieses Datum älter als ein Jahr ist. Doppelklicken Sie auf "Eincheckdatum". Das Feld wird in der nächsten leeren Spalte im Abfrageentwurfsbereich angezeigt.

Wiederholen Sie diesen Schritt, wenn Sie Kriterien mit zusätzlichen Feldern verwenden möchten.
- Geben Sie in der Zeile Kriterien für die zuvor hinzugefügten Felder Kriterien ein. Sie können beispielsweise angeben, dass "Eincheckdatum" vor dem 01.01.2008 liegen muss, indem Sie in der Zeile Kriterien den Ausdruck <#1/1/2008# verwenden.
Wenn sich Ihre Kriterienwerte bei jeder Archivierung ändern, sollten Sie die Abfrage so einrichten, dass eine Eingabe angefordert wird. Verwenden Sie hierzu einen Parameter in der Zeile Kriterien, damit die Abfrage eine Eingabe anfordert. Zum Verwenden eines Parameters arbeiten Sie wie gewohnt mit einem Ausdruck, doch anstelle eines angegebenen Werts stellen Sie in eckigen Klammern eine kurze Frage. Sie können beispielsweise den Ausdruck <[Vor diesem Datum abgeschlossene Transaktionen löschen:] wählen:

Weitere Informationen zu Parametern finden Sie im Artikel Verwenden von Parametern in Abfragen und Berichten.
Sie können auch die Zeile oder zum Angeben anderer Bedingungen verwenden. Weitere Informationen zu Kriterien finden Sie im Artikel Beispiele von Abfragekriterien oder Diese Demo anzeigen: Angeben von Kriterien für ein Textfeld (nur auf Englisch verfügbar).
Tipp Wenn Sie zum Angeben von Kriterien ein Datumsfeld nutzen und alle Datensätze archivieren möchten, die älter als das aktuelle Datum sind, geben Sie in die Zeile Kriterien für das Datumsfeld <Date() ein.
- Führen Sie eine der folgenden Aktionen aus:
- Falls Sie die Archivtabelle bereits erstellt haben, benötigen Sie zum Hinzufügen der angegebenen Datensätze zu dieser Tabelle eine Anfügeabfrage.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Anhängen.
- Wählen Sie im Dialogfeld Anfügen im Feld Tabellenname den Namen der Archivtabelle aus, und klicken Sie dann auf OK.

Im Abfrageentwurfsbereich wird die Zeile Anfügen an angezeigt.
- Leeren Sie die Zeile Anfügen an für Felder, die Sie zum Angeben von Kriterien genutzt haben. (Nur das Sternchen darf einen Wert für Anfügen an enthalten).

- Falls Sie die Archivtabelle nicht erstellt haben, benötigen Sie eine Tabellenerstellungsabfrage zum Erstellen der Archivtabelle mithilfe der angegebenen Datensätze.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Tabelle erstellen.
- Geben Sie im Dialogfeld Tabelle erstellen in das Feld Tabellenname den Namen der Archivtabelle ein, und klicken Sie auf OK.
- Drücken Sie STRG+S, um die Abfrage zu speichern.
Schritt 3: Erstellen einer Löschabfrage, die dieselben Daten aus der Originaltabelle entfernt
- Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Abfrageentwurf.
- Fügen Sie im Dialogfeld Tabelle anzeigen die Tabelle mit den zu archivierenden Datensätzen hinzu. Schließen Sie das Dialogfeld Tabelle anzeigen.
- Doppelklicken Sie im Abfrageentwurfsfenster auf das Sternchen (*) in der Tabelle, die Sie zuvor hinzugefügt haben. Der Tabellenname und ein Sternchen werden in der ersten Spalte des Abfrageentwurfsbereichs angezeigt.
- Doppelklicken Sie im Abfrageentwurfsfenster auf die Felder, die Sie zum Angeben einer Bedingung in der Anfügeabfrage verwendet haben.
- Geben Sie in der Zeile Kriterien für die zuvor hinzugefügten Felder Kriterien an. Weitere Informationen zu Kriterien finden Sie im Artikel Beispiele von Abfragekriterien oder Diese Demo anzeigen: Angeben von Kriterien für ein Textfeld (nur auf Englisch verfügbar).
Wichtig Falls Ihre Anfüge- oder Tabellenerstellungsabfrage einen Parameter enthielt, muss dies auch für die Löschabfrage gelten. Darüber hinaus müssen Sie für beide Abfragen denselben Wert eingeben. Bei Eingabe unterschiedlicher Parameterwerte können Daten verloren gehen. Um dies zu vermeiden, können Sie die Werte über ein Formular erfassen und die Abfragen das Formular auf die Eingabewerte abfragen lassen. Weitere Informationen zu Parametern finden Sie im Artikel Verwenden von Parametern in Abfragen und Berichten.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Löschen.
Die Zeile Löschen wird im Entwurfsbereich angezeigt.

- Drücken Sie STRG+S, um die Abfrage zu speichern.
Schritt 4: Erstellen eines Makros, das beide Abfragen ausführt
- Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Makro. Wenn dieser Befehl nicht verfügbar ist, klicken Sie auf den Pfeil unter entweder der Schaltfläche Modul oder der Schaltfläche Klassenmodul, und klicken Sie dann auf Makro.
- Wählen Sie in der ersten Zeile des Makroentwurfsbereichs in der Spalte Aktion die Option ÖffnenAbfrage.

- Wählen Sie unten im Bereich unter Aktionsargumente im Feld Abfragename in der Dropdownliste die Anfüge- oder Tabellenerstellungsabfrage aus, die Sie in Schritt 2 erstellt haben.

- Wählen Sie in der zweiten Zeile des Makroentwurfsbereichs in der Spalte Aktion die Option ÖffnenAbfrage.
- Wählen Sie unten im Bereich unter Aktionsargumente im Feld Abfragename in der Dropdownliste die Löschabfrage aus.
Das Makro sollte nun wie folgt aussehen:

- Drücken Sie STRG+S, um das Makro zu speichern.
Führen Sie das Makro aus, um Datensätze zu archivieren.
Seitenanfang
Regelmäßiges Ersetzen einer Tabelle
Wenn Sie stets alle Daten in einer Tabelle archivieren möchten, müssen Sie nicht mit Abfragen oder Makros arbeiten. Sie können die Tabelle auch durch eine leere Kopie ersetzen.
Wichtig Falls die zu archivierende Tabelle in Beziehung zu anderen Tabellen steht, müssen Sie ggf. die referenzielle Integrität umgehen.
- Wählen Sie im Navigationsbereich die zu archivierende Tabelle aus, drücken Sie STRG+C und dann STRG+V.
- Wählen Sie im Dialogfeld Tabelle einfügen als unter Einfügeoptionen die Option Nur Struktur aus, und klicken Sie dann auf OK.
Access nennt die Tabelle Kopie von Originaltabellenname.
- Klicken Sie im Navigationsbereich mit der rechten Maustaste auf die Originaltabelle, und klicken Sie dann im eingeblendeten Kontextmenü auf Umbenennen.
Geben Sie der Tabelle einen Namen, der ihren Inhalt beschreibt, z. B. "TäglicheHöchst-undTiefstwerte_Archiv_2007".
- Klicken Sie im Navigationsbereich mit der rechten Maustaste auf die leere Kopie, und klicken Sie dann im eingeblendeten Kontextmenü auf Umbenennen.
Geben Sie der leeren Kopie den Namen der Originaltabelle.
Seitenanfang
Regelmäßiges Ersetzen aller Tabellen
Bei Verwenden einer geteilten Datenbank können alle Tabellen regelmäßig ersetzen, indem Sie die Back-End-Datenbank durch eine leere Kopie ersetzen.
Zuerst müssen Sie die leere Kopie vorbereiten. Solange sich der Datenbankentwurf nicht ändert, können Sie diese Kopie bei jeder Archivierung wiederverwenden. Sie müssen dann bei einer Archivierung die vorhandene Back-End-Datenbank mit einem Archivnamen umbenennen und anschließend die leere Kopie als neue Back-End-Datenbank speichern.
Vorbereiten einer leeren Kopie einer Back-End-Datenbank
Importieren Sie die Tabellendefinitionen aller Tabellen in der Back-End-Datenbank.
- Erstellen Sie eine neue, leere Datenbank. Löschen Sie "Tabelle1".
- Klicken Sie auf der Registerkarte Externe Daten in der Gruppe Importieren auf Access.
- Wählen Sie im Dialogfeld Externe Daten die Option Importieren Sie Tabellen, Abfragen, Formulare, Berichte, Makros und Module in die aktuelle Datenbank, und klicken Sie auf Durchsuchen.
- Wählen Sie im Dialogfeld Datei öffnen die Back-End-Datenbank aus. Klicken Sie auf Öffnen, um das Dialogfeld Datei öffnen zu schließen. Klicken Sie anschließend auf OK.
- Klicken Sie im Dialogfeld Objekte importieren auf Optionen.
- Wählen Sie unter Tabellen importieren die Option Nur Definitionen.
- Klicken Sie auf der Registerkarte Tabellen auf Alle auswählen, dann auf OK und schließlich auf Schließen.
Fügen Sie als Nächstes Nachschlagetabellen in der leeren Kopie Daten hinzu. Führen Sie für jede Nachschlagetabelle die folgenden Schritte aus:
- Erstellen Sie eine Verknüpfung mit der Nachschlagetabelle in der vorhandenen Back-End-Datenbank.
- Erstellen Sie eine Anfügeabfrage, über die alle Datensätze im Original der Kopie hinzugefügt werden.
Ersetzen der Back-End-Datenbank durch eine leere Kopie
Benennen Sie zuerst die vorhandene Back-End-Datenbank, um anzugeben, dass es sich nun um ein Archiv handelt.
Öffnen Sie anschließend die leere Kopie, und speichern Sie sie unter dem Namen der Original-Back-End-Datenbank.
- Klicken Sie auf die Schaltfläche Microsoft Office
, und zeigen Sie anschließend auf Speichern unter. Das Menü Speichern unter wird geöffnet.
- Klicken Sie unter Datenbank in anderem Format speichern auf Access 2007-Datenbank.
Seitenanfang