sql – MS Access:如果为空,则忽略查询条件
发布时间:2020-12-12 06:22:58 所属栏目:MsSql教程 来源:网络整理
导读:我在Access中有一个表单,我在其中运行基于几个文本框的查询.我对从文本框中提取的几个查询字段应用条件,但希望查询在文本框为空时忽略条件. 例如,如果Machine_TextBox为空,则不要将条件应用于Events.Machine字段. SQL代码是: SELECT Events.Machine,Events.[
我在Access中有一个表单,我在其中运行基于几个文本框的查询.我对从文本框中提取的几个查询字段应用条件,但希望查询在文本框为空时忽略条件.
例如,如果Machine_TextBox为空,则不要将条件应用于Events.Machine字段. SQL代码是: SELECT Events.Machine,Events.[Event Date],Events.[Event Description],Events.[Action Taken],Events.[Machine Clinical],Events.[Modalities Not Clinical],Events.[Manufacturer Ticket #],Events.[TLC Ticket #],Events.FSR,Events.ID,Events.[Event Recorded By],Events.[Action Recorded By],Events.[Downtime Validation],Events.[Event Time] FROM Events WHERE (((Events.Machine)=IIf([Forms]![SearchEvent]![Machine_TextBox] Is Null,"",[Forms]![SearchEvent]![Machine_TextBox])) AND ((Events.[Event Date]) Between Nz([Forms]![SearchEvent]![StartDate_TextBox],#1/1/1900#) And Nz([Forms]![SearchEvent]![EndDate_TextBox],#1/1/2100#)) AND ((Events.[Event Description]) Like "*" & [Forms]![SearchEvent]![EventDetails_TextBox]) AND ((Events.[Manufacturer Ticket #])=[Forms]![SearchEvent]![Manufacturer_TextBox]) AND ((Events.[TLC Ticket #])=[Forms]![SearchEvent]![TLC_TextBox]) AND ((Events.FSR)=[Forms]![SearchEvent]![FSR_TextBox])) OR (((Events.Machine)=IIf([Forms]![SearchEvent]![Machine_TextBox] Is Null,[Forms]![SearchEvent]![Machine_TextBox])) AND ((Events.[Event Date]) Between Nz([Forms]![SearchEvent]![StartDate_TextBox],#1/1/1900#) AND Nz([Forms]![SearchEvent]![EndDate_TextBox],#1/1/2100#)) AND ((Events.[Action Taken]) Like "*" & [Forms]![SearchEvent]![EventDetails_TextBox]) AND ((Events.[Manufacturer Ticket #])=[Forms]![SearchEvent]![Manufacturer_TextBox]) AND ((Events.[TLC Ticket #])=[Forms]![SearchEvent]![TLC_TextBox]) AND ((Events.FSR)=[Forms]![SearchEvent]![FSR_TextBox])) ORDER BY Events.[Date and Time Stamp] DESC; 此致, 标记 解决方法您可以尝试 here所描述的技术.对于每个搜索框,使用布尔逻辑来过滤其值,或者通过使AND子句为TRUE来忽略此AND子句(如果它为空). 我只会使用两个搜索框作为示例: SELECT stuff FROM Events WHERE ((Events.Machine = [Forms]![SearchEvent]![Machine_TextBox]) OR ([Forms]![SearchEvent]![Machine_TextBox] Is Null)) AND ((Events.[Event Description] Like "*" & [Forms]![SearchEvent]![EventDetails_TextBox] & "*") OR ([Forms]![SearchEvent]![EventDetails_TextBox] Is Null)) AND ... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |