我用
microsoft access driver(*.mdb)进行连接;在vb中用recordset = cn.execute (select a.* from a where a.name = '张三'
),结果正确。
改为
recordset = cn.execute (select a.* from a where a.name like '*张三*')
后记录集无内容,为什么?是vb的原因?select a.* from a where a.name like '*张三*' 在access中查询结果也正确

解决方案 »

  1.   

    recordset.Open "select a.* from a where a.name = '张三'",cn 
    这样试一下!!
      

  2.   

    解决了:
    recordset  =  cn.execute  (select  a.*  from  a  where  a.name  like  '*张三*')  
    改为
    recordset  =  cn.execute  (select  a.*  from  a  where  a.name  like  '%张三%')
    即可!但是(select  a.*  from  a  where  a.name  like  '%张三%') 直接在access中执行是无结果的,不知道什么原因
      

  3.   

    标准的SQL语句是使用的  % 表示模糊匹配的。ACCESS下没直接试过,估计是它自己转换了一次吧
      

  4.   

    改成这样看看:
    cn.execute ("select * from a where a.name like " & "'" & "*张三*" & "'")
      

  5.   

    sql其实是标准化查询语句!
    不仅只用语sql serve!
      

  6.   

    vb 中使用SQL的通配符是"%".
      

  7.   

    vb 中使用SQL的通配符是"%".
    严重同意楼上的同志.
      

  8.   

    ADO用 % 
    DAO用 * 你用的是ADO
      

  9.   

    vb 中使用SQL的通配符是"%".