尝试简短而甜蜜,我的问题是在尝试填写FEDWire或国际电汇的相关信息时,Access Query中的以下函数给出的#Error:
IIf(IsNull([BeneABA]),DLookUp("Code","tblCountryCodes","[Country]=" & [Intl_BeneBankCountry]),DLookUp("State","qryFEDWIRE","RoutingNumber=" & [BeneABA]))
当填写BeneABA时,此功能成功。根据银行的ABA /路由信息,它返回正确的“状态”。当ABA为空时,想法是拉出2位数的国家“代码”(国际线路将具有swiftID,因此不是ABA)。
正如我在此picture和此picture中所示,当没有BeneABA时,我得到#Error。在这个例子中,#Error应该从tblCountryCodes中拉出“HK”,在那里它寻找“香港”并返回“代码”
以下是查询与相关表格的关系构建器:Picture
如果用户放入该国家,是否有人有任何建议或知道更好的方法用Code填充此字段?
答案 0 :(得分:1)
假设您的国家/地区是文本,请尝试在条件周围添加一些引号;
IIf(IsNull([BeneABA]),DLookUp("Code","tblCountryCodes","[Country]='" & [Intl_BeneBankCountry] & "'"),DLookUp("State","qryFEDWIRE","RoutingNumber=" & [BeneABA]))
如果这是一个文本而不是一个数字,你需要在RoutingNumber周围做同样的事情。
您还可以将查找包装在Nz()函数中,以更优雅地处理空返回。
Nz(DLookup(...),"No Value")