通过设置窗体使用DLookup多选场(Set subform multi-select field

2019-11-04 15:27发布

我有一个具有分配给进程并是/对于该进程的主展台NO场多个展位的表。

流程| 展位| 主

BUFF1 | 8 | 没有

BUFF1 | 5 | 是

等等

我想自动表单时的过程中被使用使用DLookup选择的选择上多选场主展台。

这是我使用的代码:

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

展位现场是一个多选场。 而我得到的,当我尝试测试错误3032无法执行此操作。 请帮忙。 多选示例

Answer 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))

请注意,我强烈反对使用多选择字段的意见,这样就可以避免这个烂摊子。



文章来源: Set subform multi-select field using Dlookup