我在 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 公式,因为该工具也应由无权访问数据库的人使用。