【问题标题】:Mismatch with Dlookup using multiple criteria and Yes/NO使用多个条件和是/否与 Dlookup 不匹配
【发布时间】:2018-03-17 00:20:19
【问题描述】:

我有一张桌子,其中有多个分配给一个流程的工作间,以及该流程的主要工作间的“是/否”字段。

流程 |展位 |初级

buff1 | 8 |没有

buff1 | 5 |是的

等等

当使用 Dlookup 选择流程时,我正在尝试自动填写表单以填写字段上的主要展位。

这是我正在使用的代码: Me.Booth.Value = DLookup("Booth", "BoothSource", "BoothSource.Process = '" & Me.Process & "' AND BoothSource.Primary = '" & "True" & "'")

我确定我遇到问题的是“是/否”字段。请帮忙。

【问题讨论】:

  • 如果问题部分是由于它在子表单上,我也尝试了以下代码:[Forms]![Part_Process_Form].[subBooth_Process_Multi].Form![Booth] = DLookup( "Booth"、"BoothSource"、"BoothSource.Process = '" & [Forms]![Part_Process_Form].[subBooth_Process_Multi].Form![Process] & "' AND BoothSource.Primary = True")
  • 做更多研究,我发现我的问题可能是我试图在多值组合框中设置值。展位设置为接受多个展位进行分配,我想预先选择主展位。

标签: ms-access vba


【解决方案1】:

True 不是字符串,所以:

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

通常情况下,条件中会省略表名:

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

【讨论】:

  • 通过该更改,我收到错误“3032 无法执行此操作。”
  • 如果我使用的表单是子表单会有所不同吗?这就是这一切发生的地方。主窗体为 Part_Process_Form,子窗体为 subBooth_Process_Multi。
  • 我认为Process 是数字,删除那里的引号,然后它可能会起作用。但是,这个错误有点奇怪。我以前从未遇到过它,如果这个问题导致它,我预计会出现类型不匹配错误。
  • 对不起,我可能应该以不同的方式输入我的示例。 Process 为文本,Booth 为 Numeric,Primary 字段为 Yes/No。
  • 查看编辑后的答案。当然,Me!Booth 必须是可更新的。
猜你喜欢
  • 1970-01-01
  • 2019-12-28
  • 2014-09-11
  • 1970-01-01
  • 2014-03-05
  • 1970-01-01
  • 2016-12-14
  • 2022-11-12
  • 1970-01-01
相关资源
最近更新 更多