Ms access 在ms access 2007的下拉列表中使用active directory用户列表

Ms access 在ms access 2007的下拉列表中使用active directory用户列表,ms-access,active-directory,Ms Access,Active Directory,在工作中,我们有WindowsServer2003。在access数据库中,我需要链接到用户/组数据,以便它可以填充下拉列表,从而与数据库记录关联。有人知道怎么做吗 谢谢 Chris我从来没有这样做过,但我读过关于ADO的LDAP查询的文章,但不知道实际的提供者名称或所需的连接字符串。您可以在此网站上搜索有关LDAP查询的文章,以获取一些示例。它们不是访问答案,但它们可能会告诉您在访问中要做什么。我从来没有这样做过,但我读过涉及通过ADO进行LDAP查询的内容,但不知道实际的提供程序名称或所需的

在工作中,我们有WindowsServer2003。在access数据库中,我需要链接到用户/组数据,以便它可以填充下拉列表,从而与数据库记录关联。有人知道怎么做吗

谢谢


Chris

我从来没有这样做过,但我读过关于ADO的LDAP查询的文章,但不知道实际的提供者名称或所需的连接字符串。您可以在此网站上搜索有关LDAP查询的文章,以获取一些示例。它们不是访问答案,但它们可能会告诉您在访问中要做什么。

我从来没有这样做过,但我读过涉及通过ADO进行LDAP查询的内容,但不知道实际的提供程序名称或所需的连接字符串。您可以在此网站上搜索有关LDAP查询的文章,以获取一些示例。它们不是访问答案,但它们可能会告诉您在访问中要做什么。

尝试以下方法:

    'Use ADO and LDAP to return all users in Active Directory
Dim objRecordSet As Object
Dim objCommand As Object
Dim objConnection As Object

Const ADS_SCOPE_SUBTREE = 2

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.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.Properties("Sort On") = "Name"

objCommand.CommandText = _
    "SELECT Name FROM 'LDAP://dc=<enter domain controler server name here>,dc=<enter full AD domain name here>' WHERE objectCategory='user'"
Set objRecordSet = objCommand.Execute

objRecordSet.MoveFirst
Do Until objRecordSet.EOF
    Debug.Print objRecordSet.Fields("Name").Value
    objRecordSet.MoveNext
Loop
'使用ADO和LDAP返回Active Directory中的所有用户
Dim objRecordSet作为对象
Dim objCommand As对象
作为对象的Dim对象连接
Const ADS_SCOPE_子树=2
设置objConnection=CreateObject(“ADODB.Connection”)
设置objCommand=CreateObject(“ADODB.Command”)
objConnection.Provider=“ADsDSOObject”
objConnection.打开“Active Directory提供程序”
设置objCommand.ActiveConnection=objConnection
objCommand.Properties(“页面大小”)=1000
objCommand.Properties(“Searchscope”)=ADS\u SCOPE\u子树
属性(“排序时间”)=“名称”
objCommand.CommandText=_
“从'LDAP://dc=,dc='WHERE objectCategory='user'中选择名称”
Set objRecordSet=objCommand.Execute
objRecordSet.MoveFirst
直到objRecordSet.EOF为止
Debug.Print objRecordSet.Fields(“Name”).Value
objRecordSet.MoveNext
环
这将获得用户列表。注意:您必须提供域控制器服务器名称和AD域名

希望这有帮助
马克

试试这样的方法:

    'Use ADO and LDAP to return all users in Active Directory
Dim objRecordSet As Object
Dim objCommand As Object
Dim objConnection As Object

Const ADS_SCOPE_SUBTREE = 2

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.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.Properties("Sort On") = "Name"

objCommand.CommandText = _
    "SELECT Name FROM 'LDAP://dc=<enter domain controler server name here>,dc=<enter full AD domain name here>' WHERE objectCategory='user'"
Set objRecordSet = objCommand.Execute

objRecordSet.MoveFirst
Do Until objRecordSet.EOF
    Debug.Print objRecordSet.Fields("Name").Value
    objRecordSet.MoveNext
Loop
'使用ADO和LDAP返回Active Directory中的所有用户
Dim objRecordSet作为对象
Dim objCommand As对象
作为对象的Dim对象连接
Const ADS_SCOPE_子树=2
设置objConnection=CreateObject(“ADODB.Connection”)
设置objCommand=CreateObject(“ADODB.Command”)
objConnection.Provider=“ADsDSOObject”
objConnection.打开“Active Directory提供程序”
设置objCommand.ActiveConnection=objConnection
objCommand.Properties(“页面大小”)=1000
objCommand.Properties(“Searchscope”)=ADS\u SCOPE\u子树
属性(“排序时间”)=“名称”
objCommand.CommandText=_
“从'LDAP://dc=,dc='WHERE objectCategory='user'中选择名称”
Set objRecordSet=objCommand.Execute
objRecordSet.MoveFirst
直到objRecordSet.EOF为止
Debug.Print objRecordSet.Fields(“Name”).Value
objRecordSet.MoveNext
环
这将获得用户列表。注意:您必须提供域控制器服务器名称和AD域名

希望这有帮助
Mark

我刚刚将广告与Access集成在一起。下面是一个很好的解释和示例代码:

我刚刚将广告与Access集成在一起。下面是一个很好的解释和示例代码: