Hallo,
ich versuche unter Access 2013 Zugriff auf einen OpenLDAP Server zu bekommen. Der Server dient als Userverwaltung für einen Samba Server. Mittels LDAP Browser kann ich problemlos auf das Verzeichnis zugreifen. Daher kann ich davon ausgehen dass die BaseDN korrekt ist. In der OU Verwaltung befinden sich die Userobjekte. Die will ich auslesen. Die Sub sieht momentan so aus:
Sub LDAP_Test() Dim oConn As ADODB.Connection Dim objCommand As ADODB.Command Dim rs As ADODB.Recordset Set oConn = CreateObject("ADODB.Connection") oConn.Provider = "ADSDSOObject" oConn.Open "Ads Provider" Set objCommand = CreateObject("ADODB.Command") Set objCommand.ActiveConnection = oConn objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE objCommand.CommandText = "SELECT * FROM 'LDAP://ldap.server.local/ou=verwaltung,o=firma,c=de'" Set rs = objCommand.Execute With rs .MoveFirst Do While Not .EOF Debug.Print .Fields.Count .MoveNext Loop End With End Sub
Es wird aber immer nur ein Recordset zurückgegeben (rs.RecordCount ist 1) und dieser Recordset hat auch nur ein Feld namens "ADsPath" und dem LDAP Query als Value. Was mache ich falsch?