Access Daten Von Einer Tabelle In Eine Andere Kopieren

Hey du! Schon mal Daten von einem Ort zum anderen kopiert? Im Alltag ständig, oder? Denk an das Rezept von Oma, das du in dein digitales Kochbuch übertragen willst, oder die Urlaubsfotos, die du von deinem Handy auf den Laptop ziehst. Genau darum geht's auch bei Access – nur eben mit Datenbanken. Und keine Angst, es ist *kein* Hexenwerk!
Stell dir vor, du hast zwei Adressbücher. Eines ist dein altes, zerfleddertes Papier-Adressbuch, das andere eine schnieke, neue Excel-Tabelle. Du willst alle Infos vom Papier ins Excel übertragen. Das wäre ziemlich mühsam, jeden Namen, jede Adresse einzeln abzutippen, oder? In Access gibt es viel elegantere Wege!
Warum sollte mich das überhaupt interessieren?
Gute Frage! Datenbanken klingen oft nach IT-Kram für Nerds, aber im Grunde sind sie überall. Wenn du einen Online-Shop nutzt, checkst, ob dein Lieblingsbuch in der Bibliothek verfügbar ist, oder eine Hotelbuchung tätigst – überall stecken Datenbanken dahinter. Und wenn du selbst mit Access arbeitest, kann das Kopieren von Daten Gold wert sein:
- Datenmigration: Du wechselst von einem alten System zu einem neuen und willst deine Daten mitnehmen.
- Berichterstellung: Du brauchst eine spezielle Ansicht deiner Daten für einen Bericht und kopierst die relevanten Infos in eine neue Tabelle, um sie zu bearbeiten, ohne die Originaldaten zu gefährden.
- Datenbereinigung: Du hast doppelte Einträge und willst diese in einer separaten Tabelle bereinigen, bevor du die korrigierten Daten zurückspielst.
- Backups: Du sicherst wichtige Daten in einer separaten Tabelle, falls mal was schiefgeht.
Also, genug der Theorie! Ran an die Praxis!
Die einfachste Variante: Copy & Paste
Ja, tatsächlich! Das gute alte Copy & Paste funktioniert auch in Access. Öffne die Tabelle, aus der du die Daten kopieren möchtest, markiere die gewünschten Zeilen (oder die ganze Tabelle mit Strg+A), drücke Strg+C (oder Rechtsklick -> Kopieren), öffne die Zieltabelle und drücke Strg+V (oder Rechtsklick -> Einfügen). Fertig!
Aber Achtung: Das ist eher was für kleinere Datenmengen. Bei Hunderten von Datensätzen wird's unübersichtlich und fehleranfällig.
Die etwas elegantere Variante: Anfügeabfrage
Hier wird's schon etwas "programmiertechnischer", aber keine Angst, es ist leichter als es klingt. Stell dir vor, du hast zwei Tabellen: "Kunden" und "Kunden_Backup". Du möchtest alle Daten aus "Kunden" in "Kunden_Backup" kopieren. So geht's:
- Erstelle eine neue Abfrage (Erstellen -> Abfrageentwurf).
- Füge die Tabelle "Kunden" zur Abfrage hinzu.
- Klicke im Abfrageentwurf auf "Anfügen" (im Reiter "Entwurf").
- Wähle im Dialogfenster "Anfügen" die Tabelle "Kunden_Backup" als Ziel aus.
- Überprüfe, ob die Felder der beiden Tabellen korrekt zugeordnet sind. Access versucht das automatisch, aber ein Blick schadet nicht.
- Klicke auf "Ausführen" (im Reiter "Entwurf").
Voila! Alle Daten sind in die Zieltabelle kopiert. Der Vorteil hier ist, dass du die Felder genau zuordnen kannst und auch Filterbedingungen definieren kannst, wenn du nur bestimmte Datensätze kopieren möchtest.
Die Profi-Variante: VBA-Code
Okay, hier wird's *wirklich* technisch, aber auch hier gilt: Keine Panik! VBA (Visual Basic for Applications) ist die Programmiersprache, die in Access steckt. Damit kannst du komplexe Aufgaben automatisieren, wie z.B. das Kopieren von Daten basierend auf bestimmten Bedingungen oder das Anpassen der Daten während des Kopiervorgangs.
Ein einfaches Beispiel:
Sub DatenKopieren()
Dim db As DAO.Database
Dim rsQuelle As DAO.Recordset
Dim rsZiel As DAO.Recordset
Set db = CurrentDb()
Set rsQuelle = db.OpenRecordset("Kunden")
Set rsZiel = db.OpenRecordset("Kunden_Backup")
rsQuelle.MoveFirst
Do While Not rsQuelle.EOF
rsZiel.AddNew
rsZiel!KundenID = rsQuelle!KundenID
rsZiel!Name = rsQuelle!Name
rsZiel!Adresse = rsQuelle!Adresse
' Weitere Felder zuordnen...
rsZiel.Update
rsQuelle.MoveNext
Loop
rsQuelle.Close
rsZiel.Close
Set rsQuelle = Nothing
Set rsZiel = Nothing
Set db = Nothing
MsgBox "Daten erfolgreich kopiert!"
End Sub
Dieser Code öffnet die Tabellen "Kunden" und "Kunden_Backup" als Recordsets, durchläuft alle Datensätze in "Kunden" und fügt sie in "Kunden_Backup" ein. Wichtig: Du musst die Feldnamen (z.B. `rsZiel!KundenID = rsQuelle!KundenID`) an deine Tabellenstruktur anpassen!
VBA ist mächtig, aber auch etwas komplizierter. Für den Anfang reichen die ersten beiden Varianten meistens völlig aus. Und wenn du tiefer einsteigen willst, gibt's im Internet tonnenweise Tutorials und Beispiele.
Fazit
Das Kopieren von Daten von einer Access-Tabelle in eine andere ist kein Rocket Science. Ob du nun die einfache Copy & Paste-Methode, die etwas elegantere Anfügeabfrage oder die Profi-Variante mit VBA wählst, hängt von deinen Bedürfnissen und deinem Kenntnisstand ab. Wichtig: Immer erst an einer Kopie deiner Datenbank testen, bevor du Änderungen an der Originaldatenbank vornimmst! Viel Erfolg beim Daten-Kopieren!



