LDAP Abfrage korrekt auslesen

NeMeSiS1987

Erfahrenes Mitglied
Hallo ich habe eine LDAP Abfrage und möchte die Daten in einen String schreiben. Folgender Quelltext:

Code:
Dim objDSE, objConnection, objCommand, objRecordset As Object
    Dim i As Integer
    Dim test As String

    Set objDSE = GetObject("LDAP://ldap.xxx.com:389/o=xxx.com")

    Set objConnection = CreateObject("ADODB.Connection")
    objConnection.Provider = "ADsDSOObject"
    objConnection.Open

    Set objCommand = CreateObject("ADODB.Command")
    Set objCommand.ActiveConnection = objConnection

    'Directory nach USER-ID durchsuchen
     objCommand.CommandText = _
            "SELECT locationCode " + _
            "FROM 'LDAP://ldap.xxx.com:389/ou=people,o=xxx.com' " + _
            "WHERE uid='" + strUID + "@xxx.com' "


    Set objRecordset = objCommand.Execute

    While Not objRecordset.EOF
            If Not (IsNull(objRecordset.Fields("locationCode"))) Then
                test = objRecordset.Fields("locationCode").Value
            End If
            objRecordset.MoveNext
    Wend
    objRecordset.Close
    objConnection.Close
    
    'test
    MsgBox test

Bei der Zuweisung von "test" kommt dann immer ein "type mismatch". Wenn ich statt test zum Beispiel ActiveSheet.Cells(1, 1) hinschreibe, schreibt er mir den Wert richtig ins Feld. Ohne das ".Value" funktioniert es auch nicht. Auch mit CStr kommt der gleiche Fehler... Was mache ich falsch?

Danke für die Hilfe!
 
Hab den Fehler mittlerweile gefunden. Hab erstmal ein ADODB-Recordset verwendet. (weiß nicht obs auch ohne geklappt hätte) Jedenfalls war die "(0)" entscheidend...

Code:
test = adodbRecordset.Fields("locationCode").Value(0)


Grüße
NeMeSiS
 

Neue Beiträge

Zurück