根据多个组合框过滤查询,但如果组合框为空,则显示所有记录,包括空,
Posted
技术标签:
【中文标题】根据多个组合框过滤查询,但如果组合框为空,则显示所有记录,包括空,【英文标题】:Filter a Query based on multiple combo boxes but if combo box is blank show All records including empty, 【发布时间】:2018-10-09 18:02:58 【问题描述】:我有一个表单和一个列表框,当用户从组合框中选择时,它会根据条件进行过滤。
列表框中的记录源是一个查询,所以我想过滤查询
我在查询设计器中使用过这段代码
Like " * " & [Forms]![Costumers]![PB_City] & " * "
为了从表格中获取部分文本
但如果该字段为空,则不会显示记录。
代码 Like " * " & [Forms]![AnyForm]![AnyThing] & " * "
省略了空白记录
因为我喜欢使用查询设计器
我想知道 SQL 的确切语法是什么或如何在查询设计器中工作
完成这项工作
【问题讨论】:
带有 AND 运算符的 LIKE 和通配符是正确的。如果字段为 Null,则计算字段以提供值并将条件应用于该字段。文本类型示例:Nz([fieldname],"") AS someName
.
但是,通配符只对文本类型的字段有用,而不是数字或日期(日期实际上是一个数字)。评论allenbrowne.com/ser-62.html
在我的情况下,如果组合框为 = "" , 它的腰跑下 1000's field's 看看它们是否还是空白,会使它工作的计算机变慢
怎么会有上千个字段?你说的是记录吗?不管有多少字段有条件,仍然有相同数量的记录。您可能需要参考教程中演示的 VBA 方法。
我的意思是记录,但我的意思是查询将在每列中多次查看 1000 条记录
【参考方案1】:
我在查询设计器中找到了以下代码是什么工作类型:
如果您想用 SQL 编写,请查看这个问题,
点击此链接 https://***.com/a/38899574/9661307
或https://***.com/a/38852152/9661307
在查询设计器中执行以下操作
在您的专栏下,您执行标准
Like "*" & [Forms]![myForm]![myControl] & "*" OR [Forms]![myForm]![myControl] Is
Null
【讨论】:
但如果您使用多列查询设计器,您可能会导致查询设计器自动复制相同的 代码 一行接一行,如下所示 Like " * " & [Forms]![myForm]![myControl] & " * " Like " * " & [Forms]![myForm]![myControl] & " * " Like " * " & [Forms]![myForm]! [myControl] & " * " Like " * " & [Forms]![myForm]![myControl] & " * " 或更多,还有一堆带有代码的新列 ([Forms]![myForm]![myControl] ) , 多行 Is Null Is Null Is Null以上是关于根据多个组合框过滤查询,但如果组合框为空,则显示所有记录,包括空,的主要内容,如果未能解决你的问题,请参考以下文章