Es geht um Berichte die täglich erstellt werden und als Ergebnistabellen in Excel erstellt werden. Da es täglich mehrere Dateien sind würde ich ungern für jede Datei Access öffnen und importieren wollen.
Daher habe ich gehofft es gibt eine Möglichkeit von Excel per VBA in eine bestehende Access Datenbank direkt zu exportieren. Dazu habe folgenden Code gefunden.
Hier ist der Bereich der Überschriften deklariert und die länge der Tabelle wird ermittelt. Das sieht ganz gut aus und beim Themenstarter hat es anscheinend funktioniert.. http://www.office-loesung.de/ftopic95185_0_0_asc.php
Wenn ich den Code ausführe erhalte ich den Fehler "Nicht erkennbares Datenbankformat"
Meine Access ist eine accdb Datei statt mdb.
Anpassungen in den Ranges und Pfad habe ich natürlich gemacht.
Kann jemand helfen?
Option Explicit
Sub TEST02_DB_import()
Dim ADOC As ADODB.Connection
Dim DBS As ADODB.Recordset
Dim lngZeile As Long, intIndex As Integer
Dim arNamen As Variant
On Error GoTo Fehler
Set ADOC = New ADODB.Connection
With ADOC
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Open "e:\daten\excel\zahlen.mdb"
End With
Set DBS = New ADODB.Recordset
DBS.Open "Zahlen", ADOC, adOpenKeyset, adLockOptimistic
With Sheets("Importliste")
arNamen = .Range(.Range("A8"), .Range("A8").End(xlToRight))
For lngZeile = 9 To .Range("A9").End(xlDown).Row
DBS.AddNew
For intIndex = 1 To UBound(arNamen, 2)
DBS.Fields(arNamen(1, intIndex)) = .Cells(lngZeile, intIndex).Value
Next
DBS.Update
Next
End With
Fehler:
If Err.Number Then MsgBox Err.Description, , Err.Number
DBS.Close
ADOC.Close
Set ADOC = Nothing
Set DBS = Nothing
End
Sub