引用表单输入时在查询条件中使用通配符
Posted
技术标签:
【中文标题】引用表单输入时在查询条件中使用通配符【英文标题】:Using Wildcard in query criteria when referencing form input 【发布时间】:2020-05-14 17:12:24 【问题描述】:我正在尝试使用表单根据用户选择的条件(通过一系列 24 个组合框)启动和返回查询结果。因此,如果用户从下拉列表中进行选择,则子表单将使用所选值作为过滤器重新查询并返回查询结果。我需要用户能够根据需要选择尽可能多或尽可能少的标准。我有这件作品使用以下内容:
在填充子表单的查询中,每个条件都有:Like "*" & [Forms]![formname]![cobx_name] & "*"
就像我说的,这行得通。问题在于标准之一。有一个字段包含一个连续的数值(从 1 到超过 11,000)。当我选择 7 时,查询返回数值为 7、17、27、37 等的记录。我需要查询使用通配符并在该特定组合框为空时返回所有记录,但仅返回与用户选择的值相等的一条记录(例如,仅返回值为 7 的记录)。
【问题讨论】:
语句中有*...编者一定忽略了...所以Like语句的引号之间有*。 LIKE 和通配符用于文本数据,而不是数字。我从不使用动态参数化查询。我更喜欢 VBA 来构建过滤条件并应用于表单或报告。查看allenbrowne.com/ser-62.html。将代码格式化为有问题的代码并 * 显示。 【参考方案1】:LIKE 和通配符用于文本而不是数字。如果必须使用动态参数化查询,请考虑:
BETWEEN Nz([Forms]![formname]![cobx_name], 0) AND Nz([Forms]![formname]![cobx_name], 99999)
【讨论】:
对不起,让我澄清一下。值是数字,但字段是短文本数据类型。 6 月 7 日,谢谢。这完美地工作并且允许所有其他组合框标准也保持按预期工作。非常感谢您的帮助! 如果答案解决了问题,可以将其标记为已接受并且点赞也不错。为什么是字段文本类型? 该字段的数值是原始数据集中的唯一ID。它永远不需要任何类型的计算,因此以文本的形式被引入数据库。我确实接受了答案并投了赞成票,但它说我的声誉水平不够高,无法更改公开显示的帖子分数。但它说投票是记录在案的。我必须努力使我的声誉至少达到 15 才能有效投票。再次感谢您在这方面的帮助!以上是关于引用表单输入时在查询条件中使用通配符的主要内容,如果未能解决你的问题,请参考以下文章