problème lecture d'un recordset
Bonjour,
Je développe actuellement une application qui doit lire un annuaire LDAP (Novell) et récupérer certaines données utilisateurs.
Je me connecte sur le LDAP via ADODB.
Lors de mes tests j'ai un problème car j'essaye d'afficher le nom et l'email mais si l'email n'existe pas pour l'un des utilsiateurs j'ai une erreur :
erreur d'exécution 13 : type incompatible. Sur la ligne signalée en remarque
Ma question est que je ne sais pas ce qui est retourné par la requête.
Il semble s'agir d'un tableau. Est-ce quelqu'un a une idée à ce sujet ?
D'avance merci.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
Private Sub Command1_Click()
Dim conn As ADODB.Connection '****
Dim rsSource As ADODB.Recordset '****
Dim mail,sn
AdresseIpSource = "x.x.x.x"
DnSourceLdap = "o=toto"
filtreLdapSource = "(objectClass=user)"
Set conn = New ADODB.Connection
conn.Provider = "ADSDSOObject"
conn.Properties("User ID") = "cn=admin,o=toto"
conn.Properties("Password") = "tototutu"
conn.Open "ADs Provider"
' Connexion à la base Source
mess = "<LDAP://" & AdresseIpSource & "/" & DnSourceLdap & ">;" & filtreLdapSource & ";mail,sn;subtree"
Set rsSource = conn.Execute(mess)
rsSource.MoveFirst
Do Until rsSource.EOF
mail= rsSource.Fields(0).Value
sn = rsSource.Fields(1).Value
If sn(0) <> "" Then
Debug.Print " " & sn(0)
End If
If mail(0) <> "" Then ' <-- Ligne provoquant l'erreur
Debug.Print " " & mail(0)
End If
rsSource.MoveNext
Loop
End Sub |