我在Access中有一个数据库,我正在尝试获取一个文本框来运行我的查询,并将另一个有界文本框的值作为条件传入
DLookUp
。我在设计视图中运行查询,当我直接输入条件时,它将返回正确的结果。当我打开报告时,它会给出所有可能行的总和。换句话说,它不过滤行。
我已经有十二年没有使用Access了,
谢天谢地
,到目前为止,我所做的一切都是教程/示例拼凑,但这里是。。。
SQL查询:
SELECT Sum(IIf(Attended=-1,1,0)) AS attendance
FROM Students_Classes_Attendance
WHERE (((CStr([Students_Classes_Attendance].[Class_Id]))=[classId]));
DLookUp作为控制源:
=DLookUp("[Total Attendance by Class]![attendance]",
"[Total Attendance by Class]",
"[Class_Id] =" & [Class_Id])
我现在迷路了。我猜在查询触发之前,该值不存在,并且由于条件是一个可选参数,所以它被传递为null,但我希望您会从中得到一个错误。不是那样的
#Error
无论如何都很有意义。
有没有人确切地知道这个问题和纠正它的最佳方法?谢谢
编辑:
我做了答案中建议的更改,所以现在我的
DLookUp(查找)
看起来。。。
=DLookUp("[attendance]",
"[Total Attendance by Class]",
"[Class_Id] =" & [Class_Id])
…仍然返回所有行的总计。完全删除标准也没有什么区别,这让我觉得这与绑定的文本框没有值有关。