【问题标题】:DLOOKUP returning #NAME? error in IIF statementDLOOKUP 返回#NAME? IIF 语句中的错误
【发布时间】:2017-08-22 15:25:44
【问题描述】:

我有一个表格用来报告表格中的数据。对于我的文本框控件,我必须使用 DLOOKUP 来显示我想要的值,否则它会显示索引号。这是我为文本框提供的代码,它确实显示了值:

DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK])

到目前为止,一切都很好。我现在遇到的问题是,如果有一个空值,DLOOKUP 会返回一个#Error 代码。

我找到了一个使用 IIF 语句和 ISNULL 的解决方案:

IIf(IsNull([WELL_MASTER]![FIRST_FRM_FK]),"",DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK]))

当我在查询中尝试这个时,效果很好;但是,当我将表达式放入文本框控件时,DLOOKUP 会返回 #Name 错误。

关于如何解决此问题的任何建议? Google foo 又让我失望了。

谢谢!

更新:

好的,我已经尝试了以下方法:

每分钟:Nz(DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK]),0)

DLookup 函数部分有效,但空值返回为 #Error。

每科斯塔斯 K:Nz(DLookUp("FORMATION_NAME","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK]),0)

与 Minty 的建议相同。

使用 Is Null 与 ISNULL 函数包装在 IIF 语句中:

IIf([WELL_MASTER]![FIRST_FRM_FK] Is Null,"",DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK]))

我回到了 DLookup 函数返回 #Name 错误的原始问题。

这是一个奇怪的事情——如果 IIF 语句表达式在查询中,它们就可以工作。当我将表达式复制到 DLookup 失败的文本框控件时。 DLookup 函数在文本框表达式中可以正常工作,只要它周围没有任何内容。将其放入 IIF 语句的那一刻,它就会停止工作。

对于它不喜欢的文本框控件有什么想法吗?

感谢 Minty 和 Kostas K 试图帮助我解决这个问题。 :)

【问题讨论】:

  • 如果这是一个查找字段,您可以使用组合框直接显示该值。或者使用 Nz() 函数Nz(DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK]),0)
  • 谢谢,明蒂!不能为此使用组合框,但您的 Nz 功能有效。我以前试过这个,但一定是结构不正确。
  • 该死!我认为它有效,但是当我查看表中的测试记录时,测试空字段中有一个 0。我将其清除并在表单中再次查看并收到#Error 消息。 DLookup 部分工作,但 NZ 部分不工作。还有其他想法吗?
  • FORMATION_NAME 中删除[] 括号。

标签: ms-access textbox ms-access-2013


【解决方案1】:

使用 Nz() 函数

Nz(DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK]),0)

【讨论】:

  • 没用。一开始我以为是这样,但没有这样的运气。
  • 我可能只是将数据直接放入底层查询的表单中。使用左连接,如果需要,您应该仍然可以编辑表单上的数据。
  • 它已经在底层查询中。问题是它是一个绑定到引用表的外键。如果我可以使用组合框,我可以只指定列数,但该选项不适用于文本框,并且必须在文本框中。
  • 然后将参考表连接到存储在主表中的 FK 并从中提取文本。然后显示它而不是 FK。
  • 我在主表中有 3 列引用回同一个引用表。我可以将引用表添加并连接到主表中的一列,但是连接所有三列的表不会返回任何结果,并且将引用表添加 2 次并将每列连接到一个引用表不会返回任何结果。这就是我最终选择 DLookup 路线的原因。
猜你喜欢
  • 1970-01-01
  • 2019-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-09
  • 1970-01-01
  • 2015-04-13
相关资源
最近更新 更多