1

我试图在查询中得到以下结果。

SELECT * FROM rosterTbl
WHERE (IIF( ISNULL([Forms]![ReportsGUI]![cmbCounsellor]), rosterTbl.CounsellorID<>null,rosterTbl.CounsellorID=[Forms]![ReportsGUI]![cmbCounsellor]

我知道上面的查询不正确,但我需要结果:如果cmbCounsellorNull那么所有辅导员 其他特定辅导员。

4

2 回答 2

2

也许这样的事情会起作用:

="SELECT * FROM rosterTbl WHERE CounsellorID " & IIf(IsNull([Forms]![ReportsGUI]![cmbCounsellor], "IS NOT NULL", "= " & [Forms]![ReportsGUI]![cmbCounsellor])

编辑回复:评论

在这种特殊情况下,WHERE 条件将用于控制要包含在报告中的记录,因此并不需要完全的 SELECT 语句。相反,“WHERE”子句可以通过 的WhereCondition参数传递给报告DoCmd.OpenReport,如下所示:

DoCmd.OpenReport "MyReport", acViewPreview, , "CounsellorID " & IIf(IsNull([Forms]![ReportsGUI]![cmbCounsellor], "IS NOT NULL", "= " & [Forms]![ReportsGUI]![cmbCounsellor])
于 2013-10-30T11:13:08.190 回答
0

这是在查询中执行此操作的方法:

SELECT * from rosterTbl 
WHERE [Forms]![ReportsGUI]![cmbCounsellor] IS  NULL
OR 
rosterTbl.CounsellorID 
= ([Forms]![ReportsGUI]![cmbCounsellor])
于 2013-10-31T00:50:50.967 回答