易语言操作ACCESS多个查询选项查询

5个查询项 每一项有两种可能 1 用户输入的数据 2.空值。
表中的数据也是每一项都有可能是空值

要求如果查询项中用户输入有数据则返回表中相应的数据或该项为空的数据,不输入数据则返回所有值

这样的SQL语句怎么写啊

这个问题当初想了很久,网上也找了没人告诉我。后来自己想出来的。给你参考下吧。
请看...

SQL中:select * from 表名 where 某字段 like 查询值1 and 某字段 like 查询值2 and 某字段 like 查询值3 and 某字段 like 查询值4 and 某字段 like 查询值5

在易中:可以用变量,当用户输入的数据是空值时
如果(查询值1=“”)
则 条件1=“”
否则 条件1=“ and 某字段1 like 查询值”

如果(查询值2=“”)
则 条件2=“”
否则 条件2=“ and 某字段2 like 查询值2”

如果(查询值3=“”)
则 条件3=“”
否则 条件3=“ and 某字段3 like 查询值3”

如果(查询值4=“”)
则 条件4=“”
否则 条件4=“ and 某字段4 like 查询值4”

如果(查询值5=“”)
则 条件5=“”
否则 条件5=“ and 某字段5 like 查询值5”

不知道你用易是用何种方法连接数据库,那我这里只说SQL命令。
SQL="select * from 表名 where" + 条件1 + 条件2 + 条件3 + 条件4 + 条件5

原理就是用户查询值如果是空就不参与SQL查询条件,否则就查询条件。

身边没装易。所以不能复制哦。 全部手打的答案哦。追问

这种思路我也想到了,不过语句跟你的不太一样。为空的时候应该是 = “%” 。但是还存在一个问题,如果表中某一个字段值为空,那么查询的时候就不能查到。 不知道是不是语句写的有问题 回去再研究下。 多谢大神! 还望继续赐教

追答

我上面所提的那些语句已经避免了没有填条件就会查不到的情况。

例如你看
如果(查询值1=“”)
则 条件1=“”
否则 条件1=“ and 某字段1 like 查询值”

如果查询值1是空的话那么 条件1也是空,这样的话
SQL语句中="select * from 表名 where" + 条件1 + 条件2 + 条件3 + 条件4 + 条件5
条件1实际上什么也没有,也就是说直接跳过了条件1。

你用这个方法就可以的,我试过很多次。

你提到如果查询值1="" 则 条件1=“%” 这样的话
SQL语句中="select * from 表名 where" + “%” + 条件2 + 条件3 + 条件4 + 条件5
就变成这样了,你用这样的语句在SQL中可以正常查询吗? 应该什么都查不到吧。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网