Tabelle kopieren (Tabelleninhalt)
Hallo,
ich brauche wieder Eure Hilfe - stundenlanges Googlen hat nichts gebracht.
Ich möchte alle Daten aus einer Tabelle in eine andere kopieren. Die vorhandenen Datensätze müssen überschrieben werden. Von der Struktur sind beide Tabellen gleich und befinden sich in derselben Datenbank. Es muss ein genaues Abbild der ersten Tabelle werden. Ganze Tabelle kopieren kommt nicht in Frage (Beziehungsprobleme).
Es muss doch einfache Lösung geben. Hat jemand das schon mal gemacht?
Gruß
maxim66
Antwort schreiben
Antwort 1 von erik vom 26.10.2019, 15:11 Options
Hallo,
da du eine Tabellenerstellungsabfrage ausschließt, bleibt nur das übrig:
1. Inhalte der Zieltabelle mit einer Löschabfrage löschen
2. Inhalte der Quelltabelle mit einer Anfügeabfrage an die Zieltabelle anfügen
Gruß
erik
Antwort 2 von hikE vom 26.10.2019, 15:52 Options
Zu Antwort 1:
Falls du die automatische ID als Primärschlüssel hast, ändert sich diese (weil die bei "Anhängen" ja einfach weiter hochzählt). Und ich vermute, dass hinter dem Wort "Beziehungsprobleme" steckt, dass das mit dem Hochzählen nicht passieren soll.
Ne "einfache" Lösung fällt mir dazu aber auch nicht ein, und einfach mit ner Automatik (Makro) auf die zu ändernden Daten losgehn (wie ich das gelegentlich mache) würd ich niemandem empfehlen, dessen Daten kein "Fun-Projekt" sind.
Antwort 3 von maxim66 vom 26.10.2019, 16:22 Options
Hallo,
Mit der Einfügeabfrage hat es geklappt
Ich habe die Einfügeabfrage erstellt, dann SQL-Code in meine Funktion eingefügt und es funktioniert.
Mein Code sieht etwa so aus:
Function Daten_sichern()
Dim db As DAO.Database
Dim Sql As String
Set db = Application.CurrentDb
Sql = "INSERT INTO T_Artikel_Neu SELECT T_Artikel_Alt.* FROM T_Artikel_Alt"
db.Execute Sql
Set db = Nothing
End Function
Danke für Eure Hilfe - war genau was ich gesucht habe
Gruß
maxim66
Antwort 4 von maxim66 vom 26.10.2019, 16:58 Options
sorry
Anfügeabfrage und nicht Einfügeabfrage
Gruß
maxim66
Antwort 5 von lleopard vom 29.10.2019, 09:40 Options
moin Maximm,
auch wenn es so klappt, solltest du vorsichtiger mit deinen Variablen sein. "sql" ist keine freie Variable... Schaust du dir mal die Hilfe zu Sql an,,, besser wäre hier zB ssql. Und schon ist Problem gelöst.
Gruß leo
Antwort 6 von Marie vom 29.10.2019, 19:48 Options
Hi Leopard,
das verstehe ich nicht, zum einen ist das eine SQL-Anweisung, zum anderen nennen alle, die ich kenne, eine SQL SQL und ferner ist mir nicht klar, was anderes passieren könnte, wenn er SQL als Stringvariable definiert und SQL = schreibt, als das was er möchte?
Gruß Marie