2017-08-14 1 views
1

私はクラッシュが基礎となるLDAPとActive Directoryに関係していると仮定しているので、これを行うことができる投稿を見つけました。クラッシュのためにADODB(LDAP)レコードセットをバインドするアクセス

アイデアありがとうございます!

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 

答えて

1

OKをこのコードは(読み取り専用)に働いた:

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 
関連する問題