Active directory 将ADODB(LDAP)记录集绑定到表单访问
我发现这是可以做到的,所以我假设我的崩溃与底层LDAP和Active Directory有关 任何想法都值得赞赏Active directory 将ADODB(LDAP)记录集绑定到表单访问,active-directory,ldap,ms-access-2010,adodb,recordset,Active Directory,Ldap,Ms Access 2010,Adodb,Recordset,我发现这是可以做到的,所以我假设我的崩溃与底层LDAP和Active Directory有关 任何想法都值得赞赏 Private objRecordset As ADODB.Recordset Private Sub Form_Open(Cancel As Integer) Dim objConnection As ADODB.Connection Dim objCommand As ADODB.Command Set objConnection = CreateOb
Private objRecordset As ADODB.Recordset
Private Sub Form_Open(Cancel As Integer)
Dim objConnection As ADODB.Connection
Dim objCommand As ADODB.Command
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.CommandText = "Select givenName, sn, mailNickname, department, physicalDeliveryOfficeName, telephoneNumber, mobile " _
& "FROM 'LDAP://dc=ad,dc=secret,dc=secret,dc=secret,dc=secret'" _
& "WHERE objectCategory='user' AND deparment='Example Department'"
Set objRecordset = objCommand.Execute ' Returns good records here
Set Me.Recordset = objRecordset ' Crashes and Restarts Access here
Me![txtMailname].ConrtolSource = "mailNickname"
Me![txtFirstname].ControlSource = "givenName"
Me![txtLastName].ConrtolSource = "sn"
Me![txtOffice].ControlSource = "physicalDeliveryOfficeName"
Me![txtDepartment].ControlSource = "department"
Me![txtPhone].ControlSource = "telephoneNumber"
Me![txtMobile].ControlSource = "mobile"
End Sub
好,这段代码有效(只读):
Private rs As ADODB.Recordset
Private Sub Form_Open(Cancel As Integer)
Dim objConnection As ADODB.Connection
Dim objConnection As ADODB.Connection
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set rs = New ADODB.Recordset
rs.ActiveConnection = objConnection
rs.Source = "Select mailNickname, givenName, sn, department, physicalDeliveryOfficeName, telephoneNumber, mobile " _
& "FROM 'LDAP://dc=ad,dc=secret,dc=secret,dc=secret,dc=secret' " _
& "WHERE objectCategory='user' AND extensionAttribute5='Technology Crime Services'"
rs.LockType = adLockReadOnly
rs.CursorType = adOpenStatic
rs.CursorLocation = adUseClient
rs.Open
Set Me.Recordset = rs
Me![txtMailname].ControlSource = "mailNickname"
Me![txtFirstname].ControlSource = "givenName"
Me![txtLastName].ControlSource = "sn"
Me![txtOffice].ControlSource = "physicalDeliveryOfficeName"
Me![txtDepartment].ControlSource = "department"
Me![txtPhone].ControlSource = "telephoneNumber"
Me![txtMobile].ControlSource = "mobile"
End Sub