那么你可以先判断一下,是不是空,如果为空,就不要加到sql字符串中去了,这样就没你所说的问题了,不知道楼主明白我的意思没,因为
如果
cha2为空字符串,那么
chacha=cha1+"and"+cha2+"and"+cha3+"and+"cha4
就等于:
chacha=cha1+"and and"+cha3+"and+"cha4
你说这样有问题吗?但是如果你在加cha2的时候就先判断一下是不是为空的话,
if trim(cha1) <>"" then
    chahca=cha1
elseif trim(cha2)<>"" then
    chacha=chacha & " and " & cha2
elseif trim(cha3)<>"" then
    chacha=chacha & " and " & cha3 
elseif trim(cha4) <>"" then
    chacha=chacha & " and " & cha4
end if

解决方案 »

  1.   

    chacha=cha1+" and "+cha2+" and "+cha3+" and "+cha4
    while instr(1,chacha,"and and")>0
        chacha=replace(chacha,"and and","and")
    wend
    executesql("select * from table1 where "+ chacha)
    注意可能出现“and and and and ”的情况。
      

  2.   

    str="select * from table where 1=1 "
    str=str & " and 1=2"
    str=str & " and 1=2"
    str=str & " and 1=2"
    str=str & " and 1=2"几个都没问题