我写的语句为:select * from 原始成绩表 where 学号 like '%" & 2001 & "%'" ,而原始成绩表中有学号这个字段,并且有一系列学号为:20010101,20010102......的纪录,但他为什么查不出来呢?始终显示否和条件的纪录数为0。这里2001是为了测试这条语句举的例子,其实应该是字符串strxuehao。

解决方案 »

  1.   

    如果:20010101是字符串,可以用%2001%查出来,另外你用的数据库是什么,这个在SQL SERVER中可以,如果你用的是ACCESS数据库,对不起,ACCESS的通配符是:*,所以在ACCESS中要使用*2001*来表示!!!
      

  2.   

    select * from 原始成绩表 where 学号 like '2001%'
      

  3.   

    select * from 原始成绩表 where 学号 like '2001%'
      

  4.   

    如果你用的是Access
    那么通配匹配应该是"*"而不是"%",即
    "select * from 原始成绩表 where 学号 like '*" & strxuehao & "*'"
      

  5.   

    我可能早上没说清楚,我写的语句是:Strsql="select * from 原始成绩表 where 学号 like '%" & 2001 & "%'"  
    Dim AdoNew1 As ADODB.Recordset
    Set AdoNew1 = New ADODB.Recordset
    AdoNew1.Open Strsql, StrConn, 3, 3
    然后按F8语法检查已经没错误了,但就是符合条件的纪录数始终为0。我学号字段定义为char类型的,是不是因为2001不是char型的缘故呀(2001是整型吧)?
      

  6.   

    统配符正确,你的字符串写错了
    Strsql="select * from 原始成绩表 where 学号 like '%2001%'"因为2001是一个字符串,而不是个字符型变量  
      

  7.   

    strsql="select * from 原始成绩表 where 学号 like '" & 2001 & "%'