MS Access多选组合框选择全部/无

时间:2013-05-16 23:13:01

标签: ms-access access-vba

我在链接到SharePoint字段的表单上有一个组合框,组合框正确填充,但是我无法尝试添加VBA代码来选择所有选项或取消选择所有选项。

使用标准组合框,您可以使用:

cmbBox1.value = ""

这将重置该字段。使用已启用多选的列表框可以完成同样的操作但是这会抛出错误,“此控件是只读的,无法修改”,使用由于查找而具有多选的组合框。 / p>

我已经做了一些搜索,但是除了使用列表框之外似乎没有其他人有真正的答案,这不是解决方案。

有没有人使用其中一个字段并知道如何使用VBA选择所有选项?

以下是描述此类字段的链接,但未讨论如何使用VBA与http://office.microsoft.com/en-us/access-help/use-a-list-that-stores-multiple-values-HA010031117.aspx进行交互。

更新:

我所描述的字段类型存在一些混淆,所以我添加了一些屏幕截图来显示允许多选的组合框,允许多个选项的列表框和添加了选项的组合框之间的区别

首先是我描述的领域:

MultiSelect Combo Boc

列表框中的第二个:

Listbox with multivalue enabled

最后是组合框:

Combobox with a Select All option

这些图像可视化描述的问题。如您所见,有多个复选框需要选择或取消选中。通常我不会创建这样的字段,但如上所述,这是Access如何从SharePoint解释允许多个选择的组合框。

2 个答案:

答案 0 :(得分:2)

经过大量的搜索和反复试验,我发现了它。

取消选中所有复选框

cmbBox1.Value = Array()

因此,根据这些信息,我想要选择他们必须在数组中的项目。创建一个包含组合框中所有项目的数组,然后将组合框设置为等于数组将选择所有项目。

我使用基本循环来设置数组的每个元素

Dim SelVals(), i
ReDim SelVals(0 to cmbBox1.ListCount - 1)
For i = 0 to cmbBox1.ListCount - 1
     SelVals(i) = cmbBox1.Column(1,i)
Next i
cmbBox1.Value = SelVals

显然,您不仅限于使用整个内容 - 您可以分配任何数组,这些数组将是所选的值。

答案 1 :(得分:0)