我试图在查询中获得以下结果。
SELECT * FROM rosterTbl
WHERE (IIF( ISNULL([Forms]![ReportsGUI]![cmbCounsellor]), rosterTbl.CounsellorID<>null,rosterTbl.CounsellorID=[Forms]![ReportsGUI]![cmbCounsellor]
我知道上面的查询不正确,但我需要结果:如果cmbCounsellor
是Null
那么所有辅导员都需要特定辅导员。
答案 0 :(得分:2)
也许这样的事情会起作用:
="SELECT * FROM rosterTbl WHERE CounsellorID " & IIf(IsNull([Forms]![ReportsGUI]![cmbCounsellor], "IS NOT NULL", "= " & [Forms]![ReportsGUI]![cmbCounsellor])
在这种特殊情况下,WHERE条件将用于控制要包含在报表中的记录,因此不需要竞争SELECT语句。相反,“WHERE”子句可以通过WhereCondition
的{{1}}参数传递给报告,如下所示:
DoCmd.OpenReport
答案 1 :(得分:0)
这是在查询中执行此操作的方法:
SELECT * from rosterTbl
WHERE [Forms]![ReportsGUI]![cmbCounsellor] IS NULL
OR
rosterTbl.CounsellorID
= ([Forms]![ReportsGUI]![cmbCounsellor])