Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
896to900
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
896to900
896to900
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Access-Tabellen importieren

Access-Tabellen importieren
16.08.2007 21:06:14
franz
Hallo,
Ich importiere Tabellen aus einer Access-Datenbank. Hier ein Fragment vom Code:
Set Datenbank = OpenDatabase(DBDateiName)
For i = 0 To Datenbank.TableDefs.Count - 1
MyTableName = Datenbank.TableDefs(i).Name
MyTableName = Format(i, """DAT""000")
Workbooks.OpenDatabase Filename:=DBDateiName, CommandText:=Array(MyTableName), CommandType:=xlCmdTable
ActiveSheet.Move Before:=Workbooks("MAKRO.xls").Sheets(1)
Next i
Wenn ich mehr als 64 Dateien habe kommt Laufzeit-Fehler 1004 (Methode fehlgeschlagen).
Gibt es eine Grenze? Kann leider keine Geschäftsdaten „hochbeamen“. Ein link über Importbeispiele wäre auch denkbar.
Franz D.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Access-Tabellen importieren
16.08.2007 23:04:00
Luschi
Hallo Franz,
hab mir nun über 2 Stunde Deine Code angeschaut, doch noch immer komme ich aus dem Grübeln nicht heraus. Beim Testen zwickt und zwackt es an vielen Stellen. Selbst mit Einbinden des Verweises auf die Access Object Library läuft der Code nicht: Set Datenbank = OpenDatabase(DBDateiName) wirft einen Fehler. Schreibe ich den Code so: Set Datenbank = Workbooks.OpenDatabase(DBDateiName) kommt ein Formular mit der Aufforderung, die Tabelle auszuwählen, die importiert werden soll.
Lange Rede kurzer Sinn: Wenn Du ein bischen mehr beschreibst, welche Tabellen (alle oder nur gewisse) in Excel importiert werden sollen, alle Datensätze der Tabelle oder vorher filtern und wie der Tabellenname in Excel dann lauten soll, dann mach ich Dir am Samstag einen Lösungsansatz auf der Basis von ADODB. Dies bringt Access ab Version 2000 mit und Excel kann damit auch umgehen.
Übrigens die For-Schleife läuft wirklich nur 64 mal, dann kann Excel keine weiteren Workbooks mehr öffnen.
Sollte der Code bei Dir doch laufen, dann mußt Du das gerade geöffnete Workbook auch wieder schließen:
Set db1 = Workbooks.OpenDatabase Filename:=DBDateiName, CommandText:=Array(MyTableName), CommandType:=xlCmdTable
ActiveSheet.Move Before:=Workbooks("MAKRO.xls").Sheets(1)
db1.Close False
Und dann fehlt bei der OpenDatabase-Methode der Zusatz, daß der Vba-Code erst weiter ausgeführt werden soll, bis alle Daten aus der Access-Tabelle ausgelesen ist (BackgroundQuery:= False)
Trotzdem empfehle ich die ADODB-Methode. Sie ist einfach das Werkzeug zum Holen der Daten aus Datenbanken. Und keine Angst, soviele Programmzeilen mehr sind es auch nicht.
Wenn Du Dich noch mal meldest, bekommst Du auch ein gutes Ergebnis.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Access-Tabellen importieren
17.08.2007 14:59:15
franz
Hallo Luschi,
Herzlichen Dank für deine Hilfe. Sieht gut aus! Fahre für eine Woche in Urlaub. Wie kann ich dich ab 27.8.07 per Mail ansprechen?
mfg
Franz D.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige