我正在处理一个报告标题,我想在文本字段中显示选定的查询参数。具体来说,用户访问一个表单,选择可用组合框的任意组合,然后单击提交按钮将选择的参数传递给将用于生成报告的查询。
在表单中,组合框显示来自查找查询的记录。例如,我的参数之一是状态。Status 组合框的行源有一个名为 qry_StatusLookup 的行源,它只是对 Status 表的查询。这将在组合框中显示动态结果。组合框列数为 2,列宽设置为 0;"1"。这将绑定 ID 列(不是名称列),以便在用户提交选择时将 ID 号传递给查询。
在我的报告标题中,我有相同的字段,这些字段应该反映在传递给查询的表单中选择的参数。例如,标题中的状态文本框设置为控制源为:
=DLookUp("[Status_Name]","tbl_Status","[Status_ID] =" & [Forms]![frm_ParameterSelection]![cboStatusLookup])
这将显示所选参数的名称而不是 ID 号。当我提交表单时,值会传递给查询并显示报告。如果在表单上选择了状态,那么它将成功显示。但是,如果用户没有选择状态,则查询将成功运行(通过不按状态过滤),并且报告是正确的,但应该显示所选状态参数的标题字段将显示为#Error。
我试图将 Dlookup 包装在一个 NZ 函数中,但这仍然显示#Error is the parameter is not selected from the form。但是如果从表单中选择参数,则状态将成功显示。
我的 Nz 函数的语法有问题吗?
=Nz(DLookUp("[Status_Name]","tbl_Status","[Status_ID] =" & [Forms]![frm_ParameterSelection]![cboStatusLookup]),"")
或者,传递给查询的空组合框值在技术上不为空吗?