在链接的SharePoint表中的组合框中选择多个值

时间:2017-03-13 09:50:57

标签: vba ms-access sharepoint combobox

我在Access和此表中有一个链接到SharePoint的表(不是UserForm)我有一个组合点ID用户的组合框。

enter image description here

如何使用VBA在此组合框中选择多个值?

2 个答案:

答案 0 :(得分:0)

不太确定“选择多个值”是什么意思。

Combobox是一个表单控件。在表格中有一个带下拉列表的字段(查找设置)。

VBA无法直接引用表字段下拉列表。必须是一个带有组合框的表格。

如果您有一个多列组合框,并且想要从一行的多个列中提取数据,那么使用表作为表单的RecordSource,通过引用列索引来提取组合框数据。索引从0开始。喜欢:

Me.combobox.Column(0)

如果你想选择多个项目(行),那么听起来你想要一个多值字段和多选组合框/下拉列表。

答案 1 :(得分:0)

您无法在ComboBox中选择多个记录,但您当然可以使用ListBox执行此操作。以下是一些要试验的示例代码。

以下代码使用For ... Next循环从lstOffice列表框中收集所有选择,并将它们连接在一起,用逗号分隔成文本字符串。文本字符串存储在名为strOffice ...

的变量中
For Each varItem In Me.lstOffice.ItemsSelected
    strOffice = strOffice & ",'" & Me.lstOffice.ItemData(varItem) _
    & "'"
Next varItem

下一步是检查结果字符串的长度。如果其长度为零,则表示用户没有选择任何内容。所以下一部分代码采用If语句的形式,它构建一个代表用户选择的合适的标准字符串......

If Len(strOffice) = 0 Then
    strOffice = "Like '*'"
Else
    strOffice = Right(strOffice, Len(strOffice) - 1)
    strOffice = "IN(" & strOffice & ")"
End If

代码来自这里。

http://www.fontstuff.com/access/acctut18.htm

您可以从该页面底部下载所有此源代码的示例压缩副本。