Fehler in VBscript

#1
Das VBScript steigt beim "Private Sub' aus ("Fehler beim Kompilieren: benutzerdefinierter Typ nicht definiert").
Wer kann weiterhelfen?

Vielen Dank und Gruß
Thunderbird


Code:
Option Explicit

Public Sub BFSJAHR()
  Dim CN As Connection
  Dim CMD As Command
  Dim JAHR As Variant
  JAHR = Worksheets(1).Range("JAHR").Value
  Set CN = CreateObject("ADODB.Connection")
  Set CMD = CreateObject("ADODB.Command")
'Connection zur Datenbank öffnen
  CN.Open "PROVIDER=MSDAORA;DATA SOURCE=AK2010;" _
            & "USER ID=SEPPEL;PASSWORD=*ALL1937#;"
'Command-Objekt der aktiven Connection zuweisen
  CMD.ActiveConnection = CN
  CMD.CommandType = adCmdText
  Daten CMD
      
  Set CMD = Nothing
  CN.Close
  Set CN = Nothing
End Sub



Private Sub Daten(Com As Command)   'Fehler beim Kompilieren: benutzerdefinierter Typ nicht definiert
  Dim CM As Command
  Dim RS As Recordset
  Dim i1 As Integer
  Dim j1 As Integer
  Dim JAHR As Integer
  Dim dummy As String
  Set CM = Com
  Set RS = CreateObject("ADODB.Recordset")
  JAHR = Worksheets(1).Range("JAHR").Value
  Com.CommandText = "select ID,CODE,DFP,AGDMSV,CTDIVOL,PHANTOM,MONATE,JAHRE,GEWICHT,KLASSE " & _
                    "from ak.v_ob " & _
                    "where JAHR = '" & JAHR & "' " & _
                    "order by ID,CODE"
                  

  Set RS = Com.Execute
  Sheets(2).Select
  i1 = 2

  Do While Not RS.EOF
    For j1 = 1 To 10
      If RS.Fields(j1 - 1).Value <> "" Then
        dummy = RS.Fields(j1 - 1).Value
      Else
        dummy = ""
      End If
      Cells(i1, j1).Value = dummy
    Next j1
    RS.MoveNext
    i1 = i1 + 1
  Loop

  RS.Close
  Set RS = Nothing
End Sub
 

German

Well-Known Member
c-b Experte
#3
Das ist sogar sicher VBA Excel. Und dass man die Codeformatierung verwenden soll, hört er auch nicht zum ersten mal.

Wenn man ADODB Objekte mit "Early Binding" verwenden will, müssen diese für das VBA Projekt registriert sein.

Menü, Haken setzen bei
Extras -> Verweise -> Microsoft ActiveX Data Objects 6.1 Library

Kann trotzdem sein, dass du bei den Deklarationen den Typ mit ADODB.Connection statt nur mit Connection bezeichnen musst.
 
#4
Sorry, Asche auf mein Haupt! War gestern wohl nicht mein Tag. Soll nicht wieder vorkommen.
Bin halt noch nicht so erfahren in diesen Dingen.

Aber trotzdem vielen Dank für die Hilfe. Nachdem die Häkchen gesetzt waren, lief das VBA-Excel-Script fehlerfrei durch.

Danke und glG
Thunderbird
 
Oben