Office: Tabelleninhalte in andere Datenbank kopieren

Helfe beim Thema Tabelleninhalte in andere Datenbank kopieren in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Guten Abend zusammen, ich stehe im Moment vor einem kleinen Problem, an dem ich schon ein Weilchen knabbere. Folgende Sachlage: Ich möchte gerne über... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Bluedragon, 7. November 2010.

  1. Tabelleninhalte in andere Datenbank kopieren


    Guten Abend zusammen,

    ich stehe im Moment vor einem kleinen Problem, an dem ich schon ein Weilchen knabbere. Folgende Sachlage:
    Ich möchte gerne über einen VBA-Code den Inhalt einer Tabelle von einer Datenbank (nennen wir sie mal Update.mdb) in einer Tabelle mit gleichem Namen und gleicher Struktur einer anderen Datenbank (nennen wir sie Ziel.mdb) kopieren.
    Bisher habe ich versucht, das ganze mit dem Insert-Befehl zu erledigen, was auch klappt, wenn ich die Daten innerhalb der gleichen Datenbank in eine anderen Tabelle kopieren möchte. Allerdings funktioniert es nicht, wenn ich das datenbankübergreifend kopieren möchte. Den Pfad der Zieldatenbank lese ich vorher in eine Variable ein, die auch für die Insert Into In-Prozedur nutzen möchte, da die Zieldatenbank nicht immer am gleich Ort liegt.

    Ich hoffe, dass ihr mir meinen Code korrigieren könnt. Ich erhalte als Fehlermeldung immer eine Nachricht, dass ich einen Fehler in der Insert-Syntax hätte.

    Danke schon im Voraus für die Hilfe.

    Code:
    :)
     
    Bluedragon, 7. November 2010
    #1
  2. Code:
    Wenn Du Deine erzeugte SQL-Anweisung ins Direktfenster (Strg + G) ausgibst, wirst Du feststellen, dass
    - zwei Leerzeichen fehlen und
    - DbQuelle nur einen Pfad, nicht aber eine Datei enthält.

    Es fehlt auch die Behandlung des Abbrechens des Dateiauswahldialogs.

    Du verarbeitest zwei externe Datenbanken? Sonst wäre ein "IN" verzichtbar.
     
  3. Imho fehlen da auch noch Hochkommata:
    Code:
    Zudem ist da eine "dbStamm" in deinem Code definiert, die keinerlei Funktion hat. Für die Ausführung des INSERT musst du die zweite Datenbank nicht öffnen (falls das die Intention sein sollte).
    maike
     
  4. Tabelleninhalte in andere Datenbank kopieren

    Hallo und Danke,

    die Hochkommata waren das eigentliche Problem (manchmal findet man auch die einfachsten Lösungen nicht *tongue.gif* ).
    Die dbStamm-Zeile ist gelöscht, die war noch ein Rest von einem veralteten Code.
    Und es sollte halt so laufen, dass die Daten von der momentan aktiven Datenbank in eine externe Datenbank kopiert werden sollte, von daher hat sich das 2. IN auch erledigt. Jetzt klappt es jedenfalls.

    Danke nochmal euch beiden.
     
    Bluedragon, 9. November 2010
    #4
  5. So, ich habe jetzt nochmal eine Ergänzung, die ich benötige.
    Wie kann ich die Spalten der beiden Tabellen vergleichen und evtl. fehlende Spalten in der Tabelle der Ziel.mdb ergänzen?
    Ich möchte aber nicht nur eine Tabelle vergleichen, sondern alle Tabellen, die jeweils den gleichen Namen haben.
    Kann mir da jmd weiter helfen?
     
    Bluedragon, 16. November 2010
    #5
  6. Welche Regeln gibt es dafür? Im einfachen Fall könnte man auch die eine durch die andere Tabelle ersetzen.
    Tabellennamen kann man auslesen und eine Maßnahme einleiten, allerdings braucht man dann auch dafür jeweils eigene Regeln, oder beinhalten die Tabellen alle Gleiches?
     
  7. Die Tabellen ersetzten geht leider nicht, es sollen nur Datensätze ergänzt werden. Ab und an kann es nötig werden, dass Spalten ergänzt werden müssen,
    z.B. Tabelle1 der Ziel mdb enthält bisher die Spalten Kunde1, Kunde2, Kunde3. Nun kommt aber ein neuer Kunde hinzu.
    In der Update.mdb enthält Tabelle1 die Spalten Kunde1, Kunde2, Kunde3, Kunde4. Bei der Ausführung des Updates (siehe oben) sollen also alle Tabellen mit gleichem Namen verglichen werden, ob die Spaltenzahl übereinstimmt und falls nicht, soll die fehlende Spalte angelegt werden. Anschließen nur noch die Daten rüberkopieren und fertig. Bereits vorhandene Datensätze sollen unberührt bleiben, d.h. wenn die neue Spalte ergänzt wird, sollen die alten Datensätze keine Ergänzung in der neuen Spalte erhalten.

    Die Tabellen der Update.mdb enthalten also nur nur neue Datensätze, die in die Tabellen der Zielmdb eingepflegt werden sollen.
     
    Bluedragon, 16. November 2010
    #7
  8. Tabelleninhalte in andere Datenbank kopieren

    Mit einer Verwaltung, die maximal 256 Kunden (= mögliche Felder in einer Tabelle) zulässt, würde ich mich nicht beschäftigen.
    Datenbank geht anders. Hast Du Dich schon mit Datenmodellierung beschäftigt?
     
  9. Habe ich, ja, aber darum geht es mir nicht. Das ganze Projekt ist für einen Freund, der absolut keine Ahnung von Access hat.
    Ich habe ihn auch schon darauf hingewiesen, dass dies keine optimale Lösung ist, aber es soll erst einmal so laufen, von daher würde ich gerne erst damit arbeiten.
     
    Bluedragon, 16. November 2010
    #9
  10. So, ich habe mich jetzt noch ein wenig selbst damit beschäftigt und bin soweit, dass ich mit meinem VBA-Code sämtliche identische Tabellen aktualisieren kann (sprich: alle Datensätze aller Tabellen der Update.mdb -> alle Tabellen der Ziel.mdb).
    Das einzige Problem, dass ich jetzt noch gelöst bekommen muss, ist das eventuelle Ergänzen von fehlenden Spalten in den Tabellen der Ziel.mdb.

    Hat jemand eine Idee, wie man sowas lösen kann? Die Tabellen haben in der Regel die gleiche Struktur, nur dass von Zeit zu Zeit Spalten angefügt werden müssen.
    Kann man mit einem Recordset die Spaltenanzahl zählen und die Spaltennamen vergleichen? Oder macht vielleicht ein Array mehr Sinn?
     
    Bluedragon, 17. November 2010
    #10
  11. Das ist Murks, das wurde ja schon erwähnt. Dabei will ich dir nicht helfen. Und Murks zieht weitere Workarounds und Hinbiegereien nach sich, bis es dann endgültig nicht mehr hinzuwürgen ist. Mach es jetzt ordentlich, wo es noch mit wenig Aufwand geht.
    maike
     
  12. Hinweise und Anforderungen von Leuten, die absolut keine Ahnung haben, muss man natürlich ernster nehmen als gesammelte Erfahrungen.
    Natürlich. Wenn Du Felder per Code anlegen kannst, kannst Du auch das.
     
  13. Tabelleninhalte in andere Datenbank kopieren

    Es wurde Dir ja ziemlich harsch gesagt, was Du vorhast sei Murks. (Es ist auch Murks.)
    Viel einfacher als die Datenkopiererei wäre, das gesamte Backend zu kopieren, und viel sicherer noch dazu. Das geht übrigens auch im laufenden Betrieb.
     
    achtelpetit, 18. November 2010
    #13
Thema:

Tabelleninhalte in andere Datenbank kopieren

Die Seite wird geladen...
  1. Tabelleninhalte in andere Datenbank kopieren - Similar Threads - Tabelleninhalte Datenbank kopieren

  2. Video: Sortieren von Tabelleninhalt

    in Microsoft Excel Tutorials
    Video: Sortieren von Tabelleninhalt: Video: Sortieren von Tabelleninhalt Excel für Microsoft 365 Word für Microsoft 365 Outlook für Microsoft 365 PowerPoint für Microsoft 365 Excel 2019...
  3. Multipageblätter automatisch nach Tabelleninhalten benennen

    in Microsoft Excel Hilfe
    Multipageblätter automatisch nach Tabelleninhalten benennen: Hallo, ich brauche mal wieder Hilfe, weil meine Kenntnisse in Excel mit VBA noch nicht gut ist. Ich erkläre kurz was ich möchte und die Datei habe ich im Anhang mitgeschickt. Ich habe...
  4. Automatisches kopieren von Tabelleninhalt bei bestim. Namen in anderes Arbeitsblatt.

    in Microsoft Excel Hilfe
    Automatisches kopieren von Tabelleninhalt bei bestim. Namen in anderes Arbeitsblatt.: Hallo zusammen, nach stundenlangem Suchen bei Google, habe ich mich in diesem Forum angemeldet und hoffe, dass mir jemand helfen kann. Für unser Schulkinder Heim habe ich eine Tabelle mit Excel...
  5. kompletten Tabelleninhalt auf einmal "aufkalkulieren"

    in Microsoft Excel Hilfe
    kompletten Tabelleninhalt auf einmal "aufkalkulieren": Hallo zusammen, habe folgendes Anliegen: ich habe eine Tabelle mit knapp 2000 Preissätzen, die einer weiteren Tabelle als "Basis / Bezug" dient. Nun muss ich für das Jahr 2012 sämtliche...
  6. Suchformular für Tabelleninhalte!?!?

    in Microsoft Access Hilfe
    Suchformular für Tabelleninhalte!?!?: Servus Leute, ich habe folgendes Problem: ich habe eine Tabelle mit Vereinsmitgliedern. (Und zur besseren Optik auch ein Formular.) Jetzt möchte ich mit Hilfe einer Suchfuktion die...
  7. Tabelleninhalt filtern

    in Microsoft Excel Hilfe
    Tabelleninhalt filtern: Guten Abend Ich habe mir eine Tabelle mit Kunden erstellt in der ich verschiedenste Kriterien erfasst habe diese Kriterien möchte ich einfach mit einem "X" markieren. Jetzt möchte ich,...
  8. Unregelmäßige Tabelleninhalte sortieren

    in Microsoft Excel Hilfe
    Unregelmäßige Tabelleninhalte sortieren: Hallo! Beiliegendes Excel File ist ein Auszug aus einem Erstazteilkatalog. Ich möchte jetzt den Text der in Spalte C über mehrere Zeilen aufgeteilt ist in einer Spalte haben. Das Problem dabei....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden