ADODB.Connection Fehlermeldung

04/02/2009 - 13:48 von Clarckkent | Report spam
Hallo Zusammen,
wenn ich dieses Marco ausführe bekomme ich folgende Fehlermeldung.
- Fehler beim kompilieren, Benutzerdefinierter type nicht definiert-. Diesen
code habe ich aus einem Forum einfach in ein Modul kopiert. Warscheinlich
fehlt da noch eine Einstellung. Ich weiss nur nicht welche. Vielen DAnk im
Voraus.

Sub GetSheetNames()
Dim cn As ADODB.Connection ' Hier hàlt das Programm an. Fehlermeldung s.
oben.
Dim cat As ADOX.Catalog
Dim t As ADOX.Table

Set cn = New ADODB.Connection
cn.Open "Provider=MSDASQL.1;Data Source=Excel Files;" _
& "Initial Catalog=X:\1_Business_Blueprint\AP1_Material\KTR 010
Materialstamm\CE_010_neu.xls" 'change path name here
Set cat = New ADOX.Catalog
Set cat.ActiveConnection = cn
For Each t In cat.Tables
Debug.Print t.Name
Next t
Set cat = Nothing
cn.Close
Set cn = Nothing
End Sub
Best regards
CK
 

Lesen sie die antworten

#1 stefan onken
04/02/2009 - 14:01 | Warnen spam
On 4 Feb., 13:48, Clarckkent
wrote:
Hallo Zusammen,
wenn ich dieses Marco ausführe bekomme ich folgende Fehlermeldung.
- Fehler beim kompilieren, Benutzerdefinierter type nicht definiert-. Diesen
code habe ich aus einem Forum einfach in ein Modul kopiert. Warscheinlich
fehlt da noch eine Einstellung. Ich weiss nur nicht welche. Vielen DAnk im
Voraus.

Sub GetSheetNames()
Dim cn As ADODB.Connection   ' Hier hàlt das Programm an. Fehlermeldung s.
oben.
Dim cat As ADOX.Catalog
Dim t As ADOX.Table

Set cn = New ADODB.Connection
cn.Open "Provider=MSDASQL.1;Data Source=Excel Files;" _
& "Initial Catalog=X:\1_Business_Blueprint\AP1_Material\KTR 010
Materialstamm\CE_010_neu.xls" 'change path name here
Set cat = New ADOX.Catalog
Set cat.ActiveConnection = cn
For Each t In cat.Tables
Debug.Print t.Name
Next t
Set cat = Nothing
cn.Close
Set cn = Nothing
End Sub
Best regards
CK



hallo CK,
dir fehlt ein Verweis. Im VBA-Editor auf Extras/Verweise, dort einen
Haken setzen bei Microsoft ActiveX Data Objects x.x Library.
Meist sind da mehrere Versionen (x.x sind dann verschiedene Zahlen).
Du kannst die höchste nehmen, es sei denn, du willst die Excel-Datei
an jemanden weitergeben. Der hat evtl diese Version nicht und du musst
eine niedrige nehmen.

Gruß
stefan

Ähnliche fragen