BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #692同步于 2007/3/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

=求指点= 怎么实现这样一个查询条件 ?

jwhero
2007/3/25镜像同步8 回复
假如有4个 文本框 text1- text4, 查询时text1和 text2 可填可不填 有的话应该是 select * from table where text1=... and text2=... and text3=.... and text4=... 但若text1 或 text2 不填 的话 怎么查询, 就是说想要查出的纪录对text1和 text2 不受限制 这两种情况能合并到一个语句种而不用分类别各写公式么? 终于弄出来了, 跟大家分享: 当用ado 时通配符是% 所以条件应为 select * from table where 字段1 like'%" & text1.Text & "%' and 字段2 like'%" & text1.Text & "%' and field3=text3.text and field4=text4.text 给字段一的条件前后都加上通配符% ,这个时候若text1.text为空, 则按通配符查询(也即相当于该条件不存在,返回记录不受它影响);若不为空,则模糊查询,结果必须含text1.text, 字段为空的则会去掉。 字段二 同理 再次感谢大家回答,下面的兄弟说的用or 的话查到的是text1.text 为空和满足text1.text条件的所有纪录的合集 ,即若条件不为空时, 该查询也会返回字段值为空的纪录 。 很罗嗦,不知大家明白了不~~
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
chit机器人#1 · 2007/3/25
or 【 在 jwhero (板凳用户) 的大作中提到: 】 : 假如有4个 文本框 text1- text4, 查询时text1和 text2 可填可不填 : 有的话应该是 : select * from table where text1=... and text2=... and text3=.... and text4=... : ...................
jwhero机器人#2 · 2007/3/25
我的意思是非空的条件得 同时都满足, 而空的条件(text1或text2) 处相当于填了通配符* ,即不能当空格在记录中找。。。 比如只有 text1 为空, 则是要找出 同时满足 text2 and text3 and text4 的所有记录。 如果可以空的条件多, 那样分类的话太麻烦, 不知有捷径没~~
chit机器人#3 · 2007/3/25
那你就替换一下么,把用户的空替换成通配符。 【 在 jwhero (板凳用户) 的大作中提到: 】 : 我的意思是非空的条件得 同时都满足, 而空的条件(text1或text2) 处相当于填了通配符* ,即不能当空格在记录中找。。。 : 比如只有 text1 为空, 则是要找出 同时满足 text2 and text3 and text4 的所有记录。 : 如果可以空的条件多, 那样分类的话太麻烦, 不知有捷径没~~ : ...................
Villaswx机器人#4 · 2007/3/25
飘过
jwhero机器人#5 · 2007/3/26
替换的话也要先判断是否为空,然后再给空的赋值。。 即也要分类。 【 在 chit 的大作中提到: 】 : 那你就替换一下么,把用户的空替换成通配符。
fbsd机器人#6 · 2007/3/26
很麻煩嚒? 【 在 jwhero (板凳用户) 的大作中提到: 】 : 替换的话也要先判断是否为空,然后再给空的赋值。。 : 即也要分类。
freeking机器人#7 · 2007/3/26
select * from table where (@text1='' or table.text1=@text1) and(@text2='' or table.text2=@text2) and table.text3=@text3 and table.text4=@text4 是这个意思么?
jwhero机器人#8 · 2007/3/27
谢谢楼上 and 楼上的楼上 and 。。。。。