不行,我忘了写了,数据库中的日期格式为MM-DD格式,我试过用CDate了,返回的记录更少了。

解决方案 »

  1.   

    IsDate 函数
    ------------------------------------------------
    Dim MyDate, YourDate, NoDate, MyCheck
    MyDate = "February 12, 1969": YourDate = #2/12/69#: NoDate = "Hello"
    MyCheck = IsDate(MyDate)   ' Returns True.
    MyCheck = IsDate(YourDate)   ' Returns True.
    MyCheck = IsDate(NoDate)   ' Returns False.
      

  2.   

    需要格式化一下 
    --------------
    Dim MyDate
    MyDate = DateValue("February 12, 1969")   ' Return a date
    --------------------------------------
    Dim MyDate
    ' MyDate contains the date for February 12, 1969.
    MyDate = DateSerial(1969, 2, 12)   ' Return a date.
      

  3.   

    我不太明白你的意思。
    首先我数据库中的日期为文本,而且格式为MM-DD,所以在Text1中填的数就不能Cdate,不然根本就不可能取出数据。
    好比我数据库中有3-1,3-2,3-3,3-4这几条记录,我现在在text1中输入3-10,结果它取出来只有3-1这条数据,我的意思是如何将后面几条数据都能取出来。
      

  4.   

    SQl="select * from Table where RQ <='" & text1.text & "'"
                                        ~~
                                        你这个 地方 写错了
      

  5.   

    上面那句 被 csdn 去掉 空格了。 
    你就 改成:SQl="select * from Table where RQ '"<= & text1.text & "'"
    ----------------------------------^^^-------------------
    -----------------------------------上面有错-------------改: SQl="select * from Table where RQ <='" & text1.text & "'" 
      

  6.   

    1.insert 时 RQ 应该以“yyyy-mm-dd”的方式插入。
    2.text1.text 的输入也以“yyyy-mm-dd”的方式输入。
    3.强烈建议你在设计数据库时一定要严谨。
    4.如果你不输入年,请问你如何解决跨年的问题。
      

  7.   

    你的日期不记录年吗?即是如此不如将日期(下计为strDate)前加上一个年"2002-"&strDate,然后转成Date型,再用Month(),Day()取出月日进行比较
      

  8.   

    SQl="select * from Table where RQ <='" & text1.text & "'" 中:RQ是什么类型的,如果是日期
    把TEXT1中的月和几号取出来SQl="select * from Table where month(rq) <" & 月份 & " or (month(rq)=" & 月份 & " and day(rq)<=" & 几号 & ")"
      

  9.   

    我的数据库中有日期,格式为文本????为什么要这么做,干吗不直接是日期
    字符串之间是很难直接比较所代表日期大小
    你需要利用数据库类型转换函数(convert)把字符串都转换成datetime格式的再比较
      

  10.   

    回复人: ward() (  ) 信誉:100  2002-3-13 21:43:57  得分:0  
     
     
      我不太明白你的意思。 
    首先我数据库中的日期为文本,而且格式为MM-DD,所以在Text1中填的数就不能Cdate,不然根本就不可能取出数据。 
    好比我数据库中有3-1,3-2,3-3,3-4这几条记录,我现在在text1中输入3-10,结果它取出来只有3-1这条数据,我的意思是如何将后面几条数据都能取出来。 你可以补0,即03-01,03-10 或者在前面加上年份(比如2000),在用cdate
      

  11.   

    select * from table  where convert(date,RQ) < date(text1.text)
      

  12.   

    SQl="select * from Table where RQ <='" & trim(text1.text) & "'" 
      

  13.   

    一定要去掉首尾空格。
    一定要去掉首尾空格。
    一定要去掉首尾空格。
    一定要去掉首尾空格。
    一定要去掉首尾空格。
    一定要去掉首尾空格。SQl="select * from Table where RQ <='" & trim(text1.text) & "'" 
      

  14.   

    没年自己加一个不就是了,反正是字符串
    sql中
    "where convert(datetime ,'2002-'+yourfield)>convert(datetime,'2002-'"+yourstring+")"  
      

  15.   

    将日期转化成双精度数据再做比较,如将
      SQl="select * from Table where RQ '"<= & text1.text & "'"
     改成:
      SQl="select * from Table where cdouble(RQ) '<= & cdouble(text1.text) 
      因为日期数据本来就是双精度数据
    不知这样能否凑效