如果控件为空IS NULL,则访问多条件查询以包含空白/空记录

问题描述

我正在尝试基于多个组合框创建多条件查询,如果它们为空,结果应包括所有记录。我尝试了以下几种变体,但没有用。 我进行了大量搜索,发现包含 OR 'Control Name' IS NULL 但似乎仍然无法正常工作。 我正在尝试汇总按收入标识符分组的收入(例如,已验证/未验证/已删除)。

SELECT Sum(sTblLineItemmaster.lineItemTotal) AS SumOflineItemTotal,sTblLineItemmaster.lineItemStatus

FROM sTblActivityMaster INNER JOIN sTblLineItemmaster ON sTblActivityMaster.actID = sTblLineItemmaster.lineItemActID

WHERE 
((sTblActivityMaster.actTargetYear=[Forms]![frmActivityList]![cmbSearchYear] Or [Forms]![frmActivityList]![cmbSearchYear] Is Null) AND
(sTblActivityMaster.actTargetMonth=[Forms]![frmActivityList]![cmbSearchMonth] Or [Forms]![frmActivityList]![cmbSearchMonth] Is Null) AND
(sTblActivityMaster.actTargetWeek=[Forms]![frmActivityList]![cmbSearchWeek] Or [Forms]![frmActivityList]![cmbSearchWeek] Is Null) AND
(sTblActivityMaster.actCategory=[Forms]![frmActivityList]![cmbSearchCategory] Or [Forms]![frmActivityList]![cmbSearchCategory] Is Null) AND
(sTblActivityMaster.actCustOwner=[Forms]![frmActivityList]![cmbSearchOwner] Or [Forms]![frmActivityList]![cmbSearchOwner] Is Null) AND
(sTblActivityMaster.actRegion=[Forms]![frmActivityList]![cmbSearchCoordinatorRegion] Or [Forms]![frmActivityList]![cmbSearchCoordinatorRegion] Is Null) AND
(sTblActivityMaster.actMode=[Forms]![frmActivityList]![cmbSearchMode] Or [Forms]![frmActivityList]![cmbSearchMode] Is Null) AND
(sTblActivityMaster.actCreator=[Forms]![frmActivityList]![cmbSearchCoordinator] Or [Forms]![frmActivityList]![cmbSearchCoordinator] Is Null) AND
(sTblActivityMaster.actSection=[Forms]![frmActivityList]![cmbSearchSection] Or [Forms]![frmActivityList]![cmbSearchSection] Is Null) AND
(sTblActivityMaster.actProject=[Forms]![frmActivityList]![cmbSearchProject] Or [Forms]![frmActivityList]![cmbSearchProject] Is Null) AND
(sTblActivityMaster.actRevenueBookStatus=[Forms]![frmActivityList]![cmbSearchRevenue] Or [Forms]![frmActivityList]![cmbSearchRevenue] Is Null) AND
(sTblActivityMaster.actVerificationStatus=[Forms]![frmActivityList]![cmbSearchVerification] Or [Forms]![frmActivityList]![cmbSearchVerification] Is Null) AND
(sTblActivityMaster.actAcceptanceStatus=[Forms]![frmActivityList]![cmbSearchAcceptance] Or [Forms]![frmActivityList]![cmbSearchAcceptance] Is Null) AND
(sTblActivityMaster.actKPIStatus=[Forms]![frmActivityList]![cmbSearchKPI] Or [Forms]![frmActivityList]![cmbSearchKPI] Is Null) AND
(sTblActivityMaster.actInvoicingStatus=[Forms]![frmActivityList]![cmbSearchInvoicing] Or [Forms]![frmActivityList]![cmbSearchInvoicing] Is Null))

GROUP BY sTblLineItemmaster.lineItemStatus;

任何人都可以检查语法是否正确或是否需要任何其他修改。 谢谢

解决方法

由于我使用 ComboBoxes 来获取搜索条件,而空组合框返回 "" 而不是 NULl,因此查询没有返回结果。 所以我所做的是,当按下搜索按钮来运行查询时,我在 VBA 中将所有空或“”组合框设置为 NULL。这样就成功了,结果出现了。