ich habe mir die letzten 2 Tage folgende
Function gebaut,
den Ansatz hatte ich in einem VBA Seminar gelernt!
Function ImportMdbTabelle(strTabelle As String, strMDB As String, blnVisible As Boolean, _
blnÜberschriftÜbernehmen As Boolean)
'*** Var deklaration
Dim db As DAO.Database, rs As DAO.Recordset, feld As DAO.Field
Dim z As Long, s As Long, i As Integer
Stop
'*** db wird geöffnet
Set db = DAO.OpenDatabase(strMDB)
Set rs = db.OpenRecordset(strTabelle, dbOpenSnapshot)
'*** neues strTabellenblatt erstellen
If Worksheet_suchen(strTabelle) = True Then
Worksheets(strTabelle).Visible = True
Application.DisplayAlerts = False
Worksheets(strTabelle).Delete
'*** Ein neuseTabellenblatt wird anlegelegt
NeuesBlatt (strTabelle)
Else
'*** Ein neuseTabellenblatt wird anlegelegt
NeuesBlatt (strTabelle)
End If
'*** Überschrift übernehmen?
If blnÜberschriftÜbernehmen = True Then
For i = 1 To rs.Fields.Count
Worksheets(strTabelle).Cells(1, i).Value = rs.Fields(i - 1).Name
Next i
s = 1
z = 2
Else
s = 1
z = 1
End If
''*** Daten einlesen
s = 1
z = 2
rs.MoveLast
rs.MoveFirst
While Not rs.EOF
For Each feld In rs.Fields
Worksheets(strTabelle).Cells(z, s).Value = feld.Value
s = s + 1
Next
rs.MoveNext
z = z + 1
s = 1
Wend
'*** recordset schließen / kanal schließen
rs.Close
Set rs = Nothing
Set db = Nothing
Set feld = Nothing
'*** Tabelle sichtbar true/false
Worksheets(strTabelle).Visible = blnVisible
End Function
leider fällt die
Function aber immer
in folgender Zeile aus
Set db = DAO.OpenDatabase(strMDB)
mit Laufzeitfehler 429
Objekterstellung durch ActiveX Komponente nicht möglich.
hat einer von euch eine IDee was ich falsch mache!
gruß
swen