gpt4 book ai didi

sql - 具有各种多值参数的 MS Query,其中可以有一个空参数

转载 作者:行者123 更新时间:2023-12-04 20:45:07 25 4
gpt4 key购买 nike

我在 Excel 中有 5 个多选列表框。每个列表框的选定内容都写在一个单元格中,用逗号分隔。

例如在单元格 A1 中所有选定的名称:Tim、Miranda、Laura

这些单元格是 Access 查询(where 子句)的条件。

我打开 MS Query 并将以下 where 子句添加到查询并定义参数:

Where (Instr(?, [name])>0 And Instr(?, [number])>0 And Instr(?, [city])>0 And Instr(?, [phone])>0 And Instr(?, [email])>0) 

它工作得很好,但是 如果参数字段之一为空 (例如用户没有选择任何城市) 查询返回所有行 ,其中 city 是空的,而不是在这种情况下忽略该子句。

我该如何解决这个问题?也许还有另一种使用 VBA 和动态 SQL 的解决方案。

注意:我必须将 Excel 用于列表框而不是 Access 公式,因为该工具也应由无权访问数据库的人使用。

最佳答案

我会使用 LIKE 运算符。
在 Excel 中填充其他单元格并将参数指向它们
=if(<cityCell> ="","_%",<cityCell>&"%")
并将查询更改为

Where [name] like ? And [number] like ? And[CITY] like and [phone] like ? And [email]like ?

通过这种方式,您可以处理用户的其他违规行为,即将 Excel 公式更改为
=if(<cityCell> ="","_%",PROPER(<cityCell>)&"%")或者

因此,toronto 的用户条目将查找 Toronto。我在 UPPER 中经常使用它,因为很多数据库都包含大写条目.. 即加拿大邮政编码

关于sql - 具有各种多值参数的 MS Query,其中可以有一个空参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20354470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com