我有一张表格用于报告表格中的数据。对于我的文本框控件,我必须使用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错误。
有关如何解决此问题的任何建议?谷歌foo再次让我失望。
谢谢!
更新:
好的,我尝试了以下内容:
每分钟:Nz(DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK]),0)
DLookup函数部分可以工作,但是null返回为#Error。
Per 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函数问题,返回#Name错误。
这是奇怪的事情 - 如果它们在查询中,则IIF语句表达式可以工作。当我将表达式复制到文本框控件时,DLookup失败了。只要没有任何东西缠绕它,DLookup函数在文本框表达式中工作正常。你把它放在IIF声明中的那一刻,就会停止工作。
关于文本框控件的内容有什么想法吗?
感谢Minty和Kostas K试图帮助我解决这个问题。 :)
答案 0 :(得分:0)
使用Nz()函数
Nz(DLookUp("[FORMATION_NAME]","R_FORMATIONS","[FORM_ID]=" & [FIRST_FRM_FK]),0)