TypeID是文本型,其中有以下记录
TypeID
2004-01-01
2004-01-02
2005-01-01
2005-01-02我显示"2005-01"的记录,这样为什么为出错呢?
Adodc1.RecordSource = "Select * from Diary where  SUBSTRING(TypeID,1,7)='2005-01'"

解决方案 »

  1.   

    ACCESS没有SUBSTRING
    试试:
    "Select * from Diary where  format(TypeID,'YYYY-MM')='2005-01'"
      

  2.   

    "Select * from Diary where  SUBSTRING(TypeID,1,7)=#'2005-01#'"
    ACCess 中的日期型数据是用 # #括起来的.
      

  3.   

    刚才写错啦"Select * from Diary where  SUBSTRING=#'2005-01#'"
    ACCess 中的日期型数据是用 # #括起来的.
      

  4.   

    "Select * from Diary where  SUBSTRING='#2005-01#'"
    ACCess 中的日期型数据是用 # #括起来的.
      

  5.   

    不要单引号
    strSql="Select * from Diary where  SUBSTRING=#2005-01#"
      

  6.   

    字段TypeID不是日期类型,而是文本类型,所以要用''号!
      

  7.   

    SUBSTRING是SQL server 2000中的函数,不是字段名称啊! 何来“SUBSTRING=#2005-01#”?
      

  8.   

    Adodc1.RecordSource = "Select * from Diary where Left(TypeID,7)='2005-01'"
      

  9.   

    strSql="Select * from Diary where  TypeID like '2005-01%'"
      

  10.   

    把它转化为:
    year(2005)
    month(01)
    上次我也碰到同样的问题,就是用这个转化就执行了!
      

  11.   

    你们全搅错了一句话ACCESS没有SUBSTRING,我只想要一个在ACCESS库里字段里,取字符串的*数