vb 实现多条件查询

yz606060 2011-02-28 08:40:34
类似这样的,如何实现

...全文
456 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
zixing 2011-03-02
  • 打赏
  • 举报
回复
直接把程序发来我给你写好查询..哈哈
Saingel 2011-02-28
  • 打赏
  • 举报
回复
"select * form table where 1=1 " & " and + 拼出的条件字符1" & " and + 拼出的条件字符2" 。。。。。。。。。。。。

“1=1” 是为了防止如果没有条件时出错
无·法 2011-02-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 yz606060 的回复:]
引用 5 楼 sysdzw 的回复:
你说的就是万能查询吧。其实其实字符串拼接了,根据要求拼接成你需要的sql语句。


具体怎么操作,
[/Quote]就是写where后面的条件吧。where 条件1 and 条件2 and 条件3 等等。
这个条件1,2,3就根据用户选择的生成啊,最终组成想3楼这样的sql语句。这都写自己代码写的,不可能自动出来的。
king06 2011-02-28
  • 打赏
  • 举报
回复
形式: sql="select * form tableA where & " & x & "='" & y & "'"
王二.麻子 2011-02-28
  • 打赏
  • 举报
回复
sql="select * from table where " & 条件1 & " and " 条件2 & " and " & 条件3。。。。
yz606060 2011-02-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sysdzw 的回复:]
你说的就是万能查询吧。其实其实字符串拼接了,根据要求拼接成你需要的sql语句。
[/Quote]

具体怎么操作,
饮水需思源 2011-02-28
  • 打赏
  • 举报
回复
sql=" select * from tablename where 1=1 " & 条件1 & 条件2 ...
贝隆 2011-02-28
  • 打赏
  • 举报
回复
布衣散人 2011-02-28
  • 打赏
  • 举报
回复
包含 等于
*************
貌似不用“等于”这个,直接用“包含”就可以了,包含一个不就是等于吗?
杀神者 2011-02-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 of123 的回复:]
更正:

"SELECT * FROM 表名 WHERE 单据编号 IN(" & strDjbh & ") AND 单据日期 BETWEEN #" & Format(mindate, "yyyy-mm-dd") & "# AND #" & Format(maxdate, "yyyy-mm-dd") & "# ORDER BY 往来单位"


……
[/Quote]11
无·法 2011-02-28
  • 打赏
  • 举报
回复
你说的就是万能查询吧。其实其实字符串拼接了,根据要求拼接成你需要的sql语句。
of123 2011-02-28
  • 打赏
  • 举报
回复
更正:

"SELECT * FROM 表名 WHERE 单据编号 IN(" & strDjbh & ") AND 单据日期 BETWEEN #" & Format(mindate, "yyyy-mm-dd") & "# AND #" & Format(maxdate, "yyyy-mm-dd") & "# ORDER BY 往来单位"


另外,在 strDjbh 中,每一个单据数据都应扩上单引号。
of123 2011-02-28
  • 打赏
  • 举报
回复
"SELECT * FROM 表名 WHERE 单据编号 IN" & strDjbh & "' AND 单据日期 BETWEEN #" & Format(mindate, "yyyy-mm-dd") & "# AND #" & Format(maxdate, "yyyy-mm-dd") & "# ORDER BY 往来单位"

strDjbh 的内容是用逗号分隔的单据编号数据。
chinaboyzyq 2011-02-28
  • 打赏
  • 举报
回复
根据选择的条件,组成SQL语句,进行查询。
  • 打赏
  • 举报
回复
根据不同条件,重组sql。
Saingel 2011-02-28
  • 打赏
  • 举报
回复
打错不是空间,是每个列表项
Saingel 2011-02-28
  • 打赏
  • 举报
回复
每个空间自己对应一个条件,比如时间,第一个条件点击时就生成sql语句片段:" and 订单日期 > '2011-02-01'
"不要用between,因为第二个搜索条件不一定存在,
最好用数组存这些sql语句片段,按了确定后再组,这样是如果删除其中某个条件的话也好处理

假设只有一个条件的话,则组成的字符串就是
"select * form table where 1=1 " & " and 订单日期 > '2011-02-01'"
soarsoar77 2011-02-28
  • 打赏
  • 举报
回复
要能拼出多表条件查询,那才算有水平
yz606060 2011-02-28
  • 打赏
  • 举报
回复
拼出的条件字符

怎么拼

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧