这句话应该是在SQL端出的问题,将这个查询用到SQL的查询query analyzer中试一下,看是否能通过,应该不是VB的问题

解决方案 »

  1.   

    SQL Serverselect * from trorder where substring(convert(nvarchar,booktime,21),1,4) between '1997' and '2002'
      

  2.   

    你用的如果是ACCESS 数据库就应该用MID函数
      

  3.   

    我用的是SQL SERVER2000,在查询分析器里可以通过,;
    但在VB中;
    Data.Recordsource=sql;
    Data.Refresh
    出错;提示:Substring()未定义??如何解决??谢谢!!!
      

  4.   

    Access数据库select * from board where mid(sendtime,1,4) between '1997' and '2002'
      

  5.   

    用Rs1.open "Select sum(Tdgl) from Agreement Where Substring(Bcrq,1,4) between '1997' And '2002'" ,conn
    试一下
      

  6.   

    sql="Select sum(Tdgl) from Agreement Where Substring(Bcrq,1,4) between 1997 And 2002"
    Data.recordsource=sql;
    Data.refreshto griefforyou:
    Vb里有Substring()?
      

  7.   

    Bcrq的类型对吗?
    1997和2002用不用引起来?
      

  8.   

    你用一个简单的查询sql="Select sum(Tdgl)  from Agreement"
    看在VB 中是否能通过
      

  9.   

    检查CONNECTIONSTRING 是否正确
      

  10.   

    如果不加Substring()就好用,真的气死我了?我搞不懂了
      

  11.   

    谢谢你,henrryzhang,我通过了,但我还是不明白为什么Substring()就不行????一会给你加分。thank you very much!
      

  12.   

    不客气,我对你这个问题也一很奇怪,所以想等你解决他,我以前在VB中用过SUBSTRING,不过是用RECORDSET的方式打开的。