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

Set subform multi-select field using Dlookup

我有一个 table 分配给一个流程的多个展位和一个 Yes/NO 字段作为该流程的主要展位。

进程 |展位 |小学

增益 1 | 8 |否

增益 1 | 5 |是

等等

当流程使用 Dlookup selected 时,我正在尝试将表单自动发送到 select 多select 字段上的主要展位。

这是我使用的代码:

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

展位字段是一个多select字段。当我尝试测试时,出现错误 3032 Cannot perform this operation。请帮忙。 Multi-Select Example

Multi-select 字段和组合框很难使用。

multi-valued 组合框的 .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))

请注意,我强烈建议不要使用多个 select 字段,这样可以避免这种混乱。