使用Dlookup设置子表单多选字段

时间:2018-03-16 17:11:50

标签: ms-access sharepoint access-vba ms-access-2010

我有一个表格,其中有多个展位分配给一个流程,而一个展位的是/否字段用于该流程。

处理|展位|主

Buff1 | 8 |否

Buff1 | 5 |是

我正在尝试自动化表单,以便在使用Dlookup选择进程时选择多选字段上的主展位。

这是我正在使用的代码:

Me.Booth.Value = DLookup("Booth", "BoothSource", "BoothSource.Process = '" & Me.Process & "' AND BoothSource.Primary = True")

Booth字段是一个多选字段。我收到错误3032当我尝试测试时无法执行此操作。请帮忙。 Multi-Select Example

1 个答案:

答案 0 :(得分:1)

多选字段和组合框非常难以使用。

多值组合框的.Value属性显然是变量数组,并且是可写的。您可以将.Value属性设置为等于包含您的值的数组,而不仅仅是您的值。

请注意,这会绕过许多检查,例如Limit to list属性,即使不允许对列表进行值编辑也是如此。您应该手动检查输入,因为这可能会导致错误。避免在数组中包含除字符串之外的任何内容(数字,日期),因为这些不会触发错误,而是将Null中的任何内容插入列表中的某个项目以伪随机unicode字符。

Dim varValue As Variant
varValue = DLookup("Booth", "BoothSource", "BoothSource.Process = '" & Me.Process & "' AND BoothSource.Primary = True")
Me.Booth.Value = Array(CStr(varValue))

请注意,我强烈反对使用多选字段,因此您可以避免这种混乱。