主要看你定义的类型,如果你在数据库中把日期型都当成字符型处理就很不一样了,如果是日期型的,则如下方法: 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) 就可以了。
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
在别人输入之后,将其格式化 Format("2001-7-9", "yyyy-mm-dd")
用SP写一个带日期转换的SQL语句
和库也有关的,access 和mssql的date不一样 mssql 可以用 '2001-1-1' 但是access就不可以. 还有就是利用format 转换....... good luck
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)
就可以了。
假定@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
Format("2001-7-9", "yyyy-mm-dd")
good luck
Format("2001-7-9", "YYYY-MM-DD")
完全同意