答案 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
您可以从该页面底部下载所有此源代码的示例压缩副本。