Ich bin am Verzweifeln.
Was habe ich gemacht.
1.) ich habe eine Excel-Datei geöffnet und mit dem Namen Muster1.xls und im Verzeichnis d:\daten\exceldb abgelegt.
2.) via VB-Editor / Extras / Verweise habe ich die Microsoft DAO 3.51 Object Library aktiviert
3.) Danach habe ich eine kleine Access-DB mit dem Namen ExcelDB1.mdb im gleichen Verzeichnis abgelegt.
Darin ist eine Tabelle (Artikel) mit den Spalten:
Artikel-Nr (AutoText,Long Integer, Inkrement)-Primäeschlüssel
Artikelname (Text)
Artikelbeschreibung (Text)
4.)Habe dann folgenden Code (von Herberseite) in einem Modul im Projekt Muster1.xls eingefügt.
-----------------------------
Option Explicit
Dim iCols As Variant
Dim cells As Variant
Dim name As String
Dim DB1 As Database
Dim RS1 As Recordset
Dim Querry As String
Sub CopyFromAccess()
Querry = "SELECT ArtikelNr, Artikelname, Artikelbeschreibung FROM abfragen"
On Error GoTo ErrorHandler
Set DB1 = OpenDatabase(ThisWorkbook.Path & "\ExcelDB1.mdb")
Set RS1 = DB1.OpenRecordset(Querry, Type:=dbOpenDynaset)
With Worksheets("Tabelle1")
.Select
.Range("A1").CurrentRegion.Select
.Range("A1").CurrentRegion.Clear
For iCols = 0 To RS1.Fields.Count - 1
Worksheets("Tabelle1").cells(1, iCols + 1).Value = RS1.Fields(iCols).name
Next
.Range(Worksheets("Tabelle1").cells(1, 1), Worksheets("Tabelle1").cells(1, RS1.Fields.Count)).Font.Bold = True
.Range("A2").CopyFromRecordset RS1
.Select
End With
DB1.Close
On Error GoTo 0
Exit Sub
ErrorHandler:
'Fehlermeldungen
DB1.Close
End Sub
------------------------
Nach der Zeile Set DB1 = OpenDatabase(ThisWorkbook.Path & "\ExcelDB1.mdb")springt das Programm sofort auf DB1.Close
Anschliessend erhalte ich nun immer den Fehler
--------
Laufzeitfehler 91 - Objektvariable oder With-Blockvariable nicht festgelegt.
Was mach ich falsch?
Danke und Gruss
Hugo