Access - externe MDB-Datei einlesen

Ich möchte die Daten aus einer externen MDB-Datei auslesen und in meine MDB-Datei übernehmen. Gleiche Tabellen, gleiche Feldstruktur. Einfach!?
Ja es wäre einfach über kopieren oder verknüpfen und Anfügeabfrage etc…

Nein, ich möchte über ein Fenster(ähnliche Explorer) die externe MDB-Datei auswählen, klicken und alle Daten der Tabellen der externen MDB werden werden an die Tabellen meiner MDB angefügt.

Info: Diese externe MDB-Datei hat immer einen anderen Namen und wird nach dem Einlesen des Inhaltes nicht mehr benötigt.

Mir würde es auch reichen, könnte ich Tabellen aus einer externen MDB-Datei via VBA-Source (auf Buttonklick) in meine MDB kopieren könnte.

Ich hoffe ihr habt mich verstanden und könnt mir helfen.

Hallo Namensvetter,

Ich möchte die Daten aus einer externen MDB-Datei auslesen und
in meine MDB-Datei übernehmen. Gleiche Tabellen, gleiche
Feldstruktur. Einfach!?
Ja es wäre einfach über kopieren oder verknüpfen und
Anfügeabfrage etc…

vorher umbenennen und fertig :smile:

Nein, ich möchte über ein Fenster(ähnliche Explorer) die
externe MDB-Datei auswählen, klicken und alle Daten der
Tabellen der externen MDB werden werden an die Tabellen meiner
MDB angefügt.

ok, und wo ist das Problem?

Info: Diese externe MDB-Datei hat immer einen anderen Namen
und wird nach dem Einlesen des Inhaltes nicht mehr benötigt.

ist doch uninteressant, wenn du sie doch per „Explorer“ auswählst.

Mir würde es auch reichen, könnte ich Tabellen aus einer
externen MDB-Datei via VBA-Source (auf Buttonklick) in meine
MDB kopieren könnte.

ok, auch das geht, allerdings würde bei gleichem Namen der Tabelle immer eine Zahl hinten drangehängt, die hochgezählt wird. Da dann immer alle Abfragen etc. angepasst werden müßten ist diese Variante nicht sinnvoll.

Du hast z.B. bei neueren Versionen von Access den Tabellenverknüpfungsmanager. Leider schreibst du nicht welche Version du da hast.

weihnachtliche Grüße
Wolfgang
(Netwolf)

Hallo,

eine externe DB oeffnen und die Daten importieren ist in 3 Schritten erledigt:

  1. „Datei oeffnen Dialog“ mittels FileDialog-Objekt erzeugen und DAtei auswaehlen
    =======================================
    'Declare a variable as a FileDialog object.
    Dim fd As FileDialog
    'Create a FileDialog object as a File Picker dialog box.
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    fd.Show
    ========================================
    weiteres findest du in der VBA-Hilfe

  2. Neue Datenbank oeffnen
    Set wrkJet = CreateWorkspace("", „Admin“, „“, dbUseJet)
    Set newDB = wrkJet.OpenDatabase(„derausgewaehltePfad“, False, False, „MS Access:stuck_out_tongue_winking_eye:WD=???“)

  3. Daten mittels einer Schleife umkopieren
    Das ist nicht die schnellste Variante aber man hat an dieser Stelle dann noch die Moeglichkeit Validierungen oder Manipulationen einzufuegen

oder aber man erstell dynamisch eine neue Verknuepfung in die geweahlte Datei mittels einem TableDef-Objekts, dann kann man mittels einem SQL-Statement „Select * from SOURCETABLE into TARGETTABLE“ die Daten in einem Aufwasch kopieren. Diese setzt allerdings vorraus, das die Felder gleich sind.

oder man erstellt eine Anfuegeabfrage und manipuliert die Parameter der Quelltabelle passend zu der neuen Datenbank. Dies funkioniert analog zum erstelle einer neunen TabelDef.

Alles was man dazu braucht ist eigentlich ganz ordentlich in der VBA-Hilfe dokumentiert, und in der MSDN finden sich auch einige Beispiele zu den oben erwaehnten Programmierschritten.

Hope this helps

Tschau
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]