vb 多条件查询疑问!

来源:百度知道 编辑:UC知道 时间:2024/07/02 14:15:30
我要通过4个参数查询,其中可以通过一个参数或者两个参数、三个参数....的任意组合来实现查询,应该怎么写? 我看到有的高手回的帖子,但我试了一下不行,帖子如下:
将4个文本控件做成一个控件数组,从text(1)到text(4)
每个控件的tag属性写上这个控件代表的字段名.
比如:text(1).tag="id",text(2).tag="name"

再生成你要执行的sql语句
dim i&,sql$
for i=1 to 4
if text(i).text<>"" then
sql=sql & " and " & text(i).tag & "='" & text(i).text & "'"
endif
next i
if sql="" then
db.execute "select * from a"
else
db.execute "select * from a where " & mid(sql,5)
endif
只要输入查询条件,运行,就说对象变量或with块变量为设置。
请各位大侠指点。谢谢!

你看的那个帖子是对的,如果你用了不行,说明你根本没理解帖子所说的方法。理解能力差的人是不适合做编程的

if text(i).text<>"" then
sql=sql & " and " & text(i).tag & "='" & text(i).text & "'"
endif
这段有问题 第一个查询条件前面应少一个"and"

原程序代码没有问题,出现“对象变量或with块变量为设置”很可能是因为你没有建立数据库连接,或者你的连接对象名称不是程序里所写的“db”……这里的“对象变量”应该是指“数据库连接对象”……如果你调试程序发现db的值为Nothing就是这个原因了...