DLOOKUP 返回#NAME? IIF 语句错误
DLOOKUP returning #NAME? error in IIF statement
我有一个表格用于报告来自 table 的数据。对于我的文本框控件,我必须使用 DLOOKUP 来显示我想要的值,否则它会显示索引号。这是文本框的代码,它确实显示值:
DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK])
到目前为止,还不错。我现在遇到的问题是,如果有一个空值,DLOOKUP returns 一个#Error 代码。
我找到了一个使用 IIF 语句和 ISNULL 的解决方案:
IIf(IsNull([WELL_MASTER]![FIRST_FRM_FK]),"",DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK]))
当我在查询中尝试使用它时,效果很好;然而,当我将表达式放入我的文本框控件时,DLOOKUP return出现#Name 错误。
关于如何解决这个问题有什么建议吗? Google foo 又让我失望了。
谢谢!
更新:
好的,我试过以下方法:
每分钟:Nz(DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK]),0)
DLookup 函数部分有效,但空 return 作为#Error。
根据 Kostas 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 函数的原始问题 returning #Name 错误。
奇怪的是 -- 如果 IIF 语句表达式在查询中,它们就会起作用。当我将表达式复制到 DLookup 失败的文本框控件时。 DLookup 函数在文本框表达式中工作正常,只要它周围没有任何东西。一旦将它放入 IIF 语句中,它就会停止工作。
关于它不喜欢的文本框控件有什么想法吗?
感谢 Minty 和 Kostas K 试图帮助我解决这个问题。 :)
使用 Nz() 函数
Nz(DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK]),0)
我有一个表格用于报告来自 table 的数据。对于我的文本框控件,我必须使用 DLOOKUP 来显示我想要的值,否则它会显示索引号。这是文本框的代码,它确实显示值:
DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK])
到目前为止,还不错。我现在遇到的问题是,如果有一个空值,DLOOKUP returns 一个#Error 代码。
我找到了一个使用 IIF 语句和 ISNULL 的解决方案:
IIf(IsNull([WELL_MASTER]![FIRST_FRM_FK]),"",DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK]))
当我在查询中尝试使用它时,效果很好;然而,当我将表达式放入我的文本框控件时,DLOOKUP return出现#Name 错误。
关于如何解决这个问题有什么建议吗? Google foo 又让我失望了。
谢谢!
更新:
好的,我试过以下方法:
每分钟:Nz(DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK]),0)
DLookup 函数部分有效,但空 return 作为#Error。
根据 Kostas 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 函数的原始问题 returning #Name 错误。
奇怪的是 -- 如果 IIF 语句表达式在查询中,它们就会起作用。当我将表达式复制到 DLookup 失败的文本框控件时。 DLookup 函数在文本框表达式中工作正常,只要它周围没有任何东西。一旦将它放入 IIF 语句中,它就会停止工作。
关于它不喜欢的文本框控件有什么想法吗?
感谢 Minty 和 Kostas K 试图帮助我解决这个问题。 :)
使用 Nz() 函数
Nz(DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK]),0)