Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
912to916
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
912to916
912to916
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Function funtzt nicht (mdb datei auslesen)

Function funtzt nicht (mdb datei auslesen)
01.10.2007 19:53:00
Swen
Hallo an alle,
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

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Function funtzt nicht (mdb datei auslesen)
01.10.2007 20:06:13
Franz
Hallo Sven,
hast du unter "Verweise" die DAO-Bibliotheken aktiviert?
Tschüss!
Franz D.

AW: Function funtzt nicht (mdb datei auslesen)
01.10.2007 20:13:00
Swen
ja den verweis habe ich aktiviert! das war auch meine erste idee!
daran liegt es nicht!
gruß
swen

AW: Function funtzt nicht (mdb datei auslesen)
01.10.2007 20:19:00
Franz
Hallo Sven,
komme mit diesem kurzem Code ganz gut zurecht:

Sub DAOCopyFromRecordSetALL(DBFullName As String, TableName As String, FieldName As String,  _
TargetRange As Range)
'Quelle-->URL:http://www.exceltip.com/st/Import_data_from_Access_to_Excel_(DAO)_using_VBA_in_Microsoft_Excel/428.html
'Syntax-Beispiel: DAOCopyFromRecordSet "C:\FolderName\DataBaseName.mdb","TableName", "FieldName" _
, Range("C1")
Dim db As Database, rs As Recordset
Dim intColIndex As Integer
Set TargetRange = TargetRange.Cells(1, 1)
Set db = OpenDatabase(DBFullName)
Set rs = db.OpenRecordset(TableName, dbOpenTable) ' all records
For intColIndex = 0 To rs.Fields.Count - 1
TargetRange.Offset(0, intColIndex).Value = rs.Fields(intColIndex).Name
Next
' write recordset
TargetRange.Offset(1, 0).CopyFromRecordset rs
Set rs = Nothing
db.Close
Set db = Nothing
End Sub


Tschüss!
Franz D.

Anzeige
AW: Function funtzt nicht (mdb datei auslesen)
02.10.2007 14:52:00
Swen
Hallo Franz,
das gibt mir aber nicht die möglichkeit das man zwischen der überschrift wählen kann und wozu ist die variable TargetRange As Range da?
gruß
swen

AW: Function funtzt nicht (mdb datei auslesen)
02.10.2007 14:52:00
Swen
Hallo Franz,
das gibt mir aber nicht die möglichkeit das man zwischen der überschrift wählen kann und wozu ist die variable TargetRange As Range da?
gruß
swen

AW: Function funtzt nicht (mdb datei auslesen)
02.10.2007 14:52:57
Swen
Hallo Franz,
das gibt mir aber nicht die möglichkeit das man zwischen der überschrift wählen kann und wozu ist die variable TargetRange As Range da?
gruß
swen

AW: Function funtzt nicht (mdb datei auslesen)
02.10.2007 16:21:21
fcs
Hallo Swen,
Function wird üblicherweise eingesetzt um ein Ergebnis aus den Eingabeparametern zu berechnen und an die Variable zurückzugeben von der sie aufgerifen wurde.
Deine Prozedur enthält zahlreiche Tabellenoperationen (erstellen, löschen, Zellenausfüllen etc.) solche Operationen sollten bzw. müssen in einer Sub und nicht in einer Function ausgeführt werden.
Falls du Parameter flexibel eingeben möchtest, dann muss du diese entweder aus Tabellenzellen einlesen oder per Userform eingeben oder ein paar Inputboxen/Messageboxen.
Gruß
Franz

Anzeige
AW: Function funtzt nicht (mdb datei auslesen)
03.10.2007 23:04:39
Swen
... ja habe ich!

AW: Function funtzt nicht (mdb datei auslesen)
04.10.2007 09:30:00
Harry
Hallo Swen,
funktioniert die Routine auf anderen Rechnern? Dann könnte es sein, das auf dem Rechner die DAOxxx.DLL nicht ordentlich registriert ist (evtl. auch durch ein Update oder einer Programminstallation in letzter Zeit zerstört.
Suche im Explorer nach "DAO*.DLL" - er müsste die DAO350.DLL und/oder DAO 360.DLL finden, bei typischer Installation im Verzeichnis "C:\Programme\Gemeinsame Dateien\Microsoft Shared\DAO".
Dann bei "Start - Asuführen" eingeben

regsvr32.exe "Dein PfadPfad\dao360.dll"
bzw. hier regsvr32.exe "C:\Programme\Gemeinsame Dateien\Microsoft Shared\DAO\dao360.dll"


evtl. auch für DAO350.DLL notwendig, m.E. müsste aber DAO360 reichen
Gruß
Harry

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige