sql="select * from user where cdate(sMemo)=cdate('2002-01-01')"
sql="select * from user where cdate(sMemo)>cdate('2002-01-01')"
都出错。如何解决。

解决方案 »

  1.   

    sql="select * from user where cdate(sMemo)= #" & cdate("2002-01-01") & "#"
    变量不能直接放入""中.
    没测试过,不好意思.
      

  2.   

    SMEMO在数据库中是什么类型呢?
      

  3.   

    sql="select * from user where cdate(sMemo)= '" & cdate('2002-01-01') & "'"
      

  4.   

    Sql = "select sCardID,sName,mRemain,iRest,sMemo from tUsers "
    Sql = Sql + "where (dtAccount>=cdate('" & StarTime & "') and  dtAccount<=cdate('" & StopTime & "')) "
    Sql = Sql + "or (cdate(sMemo)>=cdate('" & StarTime & "') and  cdate(sMemo)<=cdate('" & StopTime & "'))"
    rs1.Open Sql, conn, 1, 1注:dtAccount是日期型,sMemo是文本型。
    以上程序把第三行注释是可以运行的。
      

  5.   

    楼主是什么数据库啊?是ACCESS吧,文本型字段就不要转换了,直接比较
    sql="select * from user where 时间字段= '2002-01-01'" 如果是SQL SERVER就可以直接比较.
      

  6.   

    看你是什么数据库,ACCESS数据库日期型用#号括起来,其他的用单引号sql="select * from user where sMemo = #2002-01-01#"
      

  7.   

    另外说一句CDATE是VB里的函数,在SQL语句里不能使用,不同的数据库转换日期的函数不同!!
      

  8.   

    是access的。
    字段是文本型的。存放的是日期数据。
    现在要对该字段查找记录。直接文本比较又不准确。
    如:
    2002-2-2 12:3:0
    2002-12-12 12:12:12上面的比下面的大。所以要先转为日期型再比较。
      

  9.   

    是access的。
    字段是文本型的。存放的是日期数据。
    现在要对该字段查找记录。直接文本比较又不准确。
    如:
    2002-2-2 12:3:0
    2002-12-12 12:12:12上面的比下面的大。所以要先转为日期型再比较。
      

  10.   

    用 format函数把文本字段转换为日期型格式再比较