我想最好你把这句话在数据库环境下调试!例如sql server的查询分析器!如果没有错!我想就是你的vb语法有错!
其实用什么都可以例如
dim sql
'说明 如果输入值为空s=%,不然就是 s=%输入值%
'并且你的字段都是字符型
sql="Select * from tongdata where name like '" & s & "' and work like '" & s & " ' and phone like ' " & s & "'"

解决方案 »

  1.   

    & 不是% 也不是 *
      

  2.   

    这样说吧,
    在VB ADO ACCSEE 中查找个任意条件的怎么写,不过这个条件会变化的
      

  3.   

    我知道VB语法没有错,不过错在,name like "%",如果你把该项去掉应该可以的,既:
    select * from tongdata where work like '%s%' and phone like '%5'"
    你试一试。肯定对的,所以你的程序里面要控制,如果该条件值为空,就不要加进去了。
      

  4.   

    问题是我事先怎么知道name是否为空
    我这里只是3个东西,实际上有20多个
      

  5.   

    我终于发现自己提的问题是怎么回事了,原来 "Select * From tongdata where name Like '%'"不能将数据表中 name没有记录的记录查询出来, 于是又有了个新问题,我如何将数据表中任意条件的记录sql出来,包括空字符?例如 Select * from tongdata where name Like ?????
    因为name的条件我事先不知道, 
      

  6.   

    对于20个条件,你可以这样写你的sql在 vb中定义一个变量 strSQLstrSQL="select ..... from ... where 1=1"下面判断20个条件
    if ... then strSQL=strSQL & " and ...."
    .
    .
    .这样不就可以了吗