我的表单上有一个链接到 SharePoint 字段的组合框,该组合框可以正确填充,但是我在尝试添加 VBA 代码来选择所有选项或取消选择所有选项时遇到困难。
通过标准组合框,您可以使用:
cmbBox1.value = ""
这将重置该字段。可以使用启用了多选的列表框完成相同的操作,但是这会引发错误“此控件是只读的,无法修改”,而组合框由于查找而具有多选功能。
我已经做了一些搜索,但是除了使用列表框之外似乎没有人有真正的答案,这不是这里的解决方案。
有没有人使用过这些字段之一并且知道如何使用 VBA 选择所有选项?
这是描述此类字段的链接,但它没有讨论如何使用 VBA 与其交互 -http://office.microsoft.com/en-us/access-help/use-a-list-that-stores-multiple-values-HA010031117.aspx.
UPDATE:
对于我所描述的字段类型存在一些混淆,因此我添加了一些屏幕截图来显示允许多选的组合框、允许多个选项的列表框和添加了选项的组合框之间的区别。
首先是我描述的领域:
第二个列表框:
最后是组合框:
这些图像直观地描述了所描述的问题。如您所见,有多个复选框需要选中或取消选中。通常我不会创建这样的字段,但如上所述,这就是 Access 解释 SharePoint 中允许多项选择的组合框的方式。
经过大量的搜索和反复试验,我找到了答案。
要取消选择所有复选框,请执行以下操作:
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
显然,您不仅限于使用整个内容 - 您可以分配任何数组,这些将是选定的值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)