我一直建议大家不要使用日期型字段,但是有一个前提:任何时候都按字符处理。别人输入的日期值也要处理一下啊!没看见长度都不一样吗?Len("2001-7-9")<Len("2001-08-11")
知道了吧!

解决方案 »

  1.   

    主要看你定义的类型,如果你在数据库中把日期型都当成字符型处理就很不一样了,如果是日期型的,则如下方法:
    dim str1 as string
    dim rqvar as date
    rqvar="2001-7-9"
    str1="select * from t1 where rq>=#" & format(rqvar,"mm/dd/yyyy") & "#"
    set sc=db.openrecordset(str1)
    就可以了。
      

  2.   

    1.你的数据查询是在数据库的话可以将数据转换为日期时间后再比较:
    假定@day='2001-7-9'
    SELECT @dt=@day+' 0:0:0.000'
    SELECT * FROM table WHERE dt>@dt2.如果不是你可以尝试将他人输入的东西格式化:
    dim yr,mn,dy,dt as string
    yr=cstr(year(datevar))
    mn=cstr(month(datever))
    dy=cstr(day(dateever))
    if month(datevar)<10 then mn="0"+mn
    if day(datevar)<10 then dy="0"+dy
    if len(cstr(year(datevar))=2 then yr="20"+yr  --在98下的情况年用两位表示
    dt=yr+"-"+mn+"-"+dy
      

  3.   

    在别人输入之后,将其格式化
    Format("2001-7-9", "yyyy-mm-dd")
      

  4.   

    用SP写一个带日期转换的SQL语句
      

  5.   

    和库也有关的,access 和mssql的date不一样 mssql 可以用 '2001-1-1' 但是access就不可以. 还有就是利用format 转换.......
    good luck
      

  6.   

    在别人输入之后,将其格式化
    Format("2001-7-9", "YYYY-MM-DD") 
    完全同意