当日期为文本时,如何判断日期大小? 不行,我忘了写了,数据库中的日期格式为MM-DD格式,我试过用CDate了,返回的记录更少了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 IsDate 函数------------------------------------------------Dim MyDate, YourDate, NoDate, MyCheckMyDate = "February 12, 1969": YourDate = #2/12/69#: NoDate = "Hello"MyCheck = IsDate(MyDate) ' Returns True.MyCheck = IsDate(YourDate) ' Returns True.MyCheck = IsDate(NoDate) ' Returns False. 需要格式化一下 --------------Dim MyDateMyDate = 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. 我不太明白你的意思。首先我数据库中的日期为文本,而且格式为MM-DD,所以在Text1中填的数就不能Cdate,不然根本就不可能取出数据。好比我数据库中有3-1,3-2,3-3,3-4这几条记录,我现在在text1中输入3-10,结果它取出来只有3-1这条数据,我的意思是如何将后面几条数据都能取出来。 SQl="select * from Table where RQ <='" & text1.text & "'" ~~ 你这个 地方 写错了 上面那句 被 csdn 去掉 空格了。 你就 改成:SQl="select * from Table where RQ '"<= & text1.text & "'"----------------------------------^^^------------------------------------------------------上面有错-------------改: SQl="select * from Table where RQ <='" & text1.text & "'" 1.insert 时 RQ 应该以“yyyy-mm-dd”的方式插入。2.text1.text 的输入也以“yyyy-mm-dd”的方式输入。3.强烈建议你在设计数据库时一定要严谨。4.如果你不输入年,请问你如何解决跨年的问题。 你的日期不记录年吗?即是如此不如将日期(下计为strDate)前加上一个年"2002-"&strDate,然后转成Date型,再用Month(),Day()取出月日进行比较 SQl="select * from Table where RQ <='" & text1.text & "'" 中:RQ是什么类型的,如果是日期把TEXT1中的月和几号取出来SQl="select * from Table where month(rq) <" & 月份 & " or (month(rq)=" & 月份 & " and day(rq)<=" & 几号 & ")" 我的数据库中有日期,格式为文本????为什么要这么做,干吗不直接是日期字符串之间是很难直接比较所代表日期大小你需要利用数据库类型转换函数(convert)把字符串都转换成datetime格式的再比较 回复人: 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 select * from table where convert(date,RQ) < date(text1.text) SQl="select * from Table where RQ <='" & trim(text1.text) & "'" 一定要去掉首尾空格。一定要去掉首尾空格。一定要去掉首尾空格。一定要去掉首尾空格。一定要去掉首尾空格。一定要去掉首尾空格。SQl="select * from Table where RQ <='" & trim(text1.text) & "'" 没年自己加一个不就是了,反正是字符串sql中"where convert(datetime ,'2002-'+yourfield)>convert(datetime,'2002-'"+yourstring+")" 将日期转化成双精度数据再做比较,如将 SQl="select * from Table where RQ '"<= & text1.text & "'" 改成: SQl="select * from Table where cdouble(RQ) '<= & cdouble(text1.text) 因为日期数据本来就是双精度数据不知这样能否凑效 求助,加载codesmart后VB6启动时报错。 【VB+ACCESS】 错误80004005 for 语句的疑问. 问下如何解决DVD文件的拖放问题 请教个经验,存放项目的文件夹大家一般用几层呀? commondialog怎样指定open时候对话框的位置. activeskin如何作用于弹出菜单,谢谢. 急急求救Excel文件处理问题 请教高手!局域网文件传输! 求助 我的光驱怎么了? 如何得到一个文件夹的所有子文件夹和文件?
------------------------------------------------
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.
--------------
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.
首先我数据库中的日期为文本,而且格式为MM-DD,所以在Text1中填的数就不能Cdate,不然根本就不可能取出数据。
好比我数据库中有3-1,3-2,3-3,3-4这几条记录,我现在在text1中输入3-10,结果它取出来只有3-1这条数据,我的意思是如何将后面几条数据都能取出来。
~~
你这个 地方 写错了
你就 改成:SQl="select * from Table where RQ '"<= & text1.text & "'"
----------------------------------^^^-------------------
-----------------------------------上面有错-------------改: SQl="select * from Table where RQ <='" & text1.text & "'"
2.text1.text 的输入也以“yyyy-mm-dd”的方式输入。
3.强烈建议你在设计数据库时一定要严谨。
4.如果你不输入年,请问你如何解决跨年的问题。
把TEXT1中的月和几号取出来SQl="select * from Table where month(rq) <" & 月份 & " or (month(rq)=" & 月份 & " and day(rq)<=" & 几号 & ")"
字符串之间是很难直接比较所代表日期大小
你需要利用数据库类型转换函数(convert)把字符串都转换成datetime格式的再比较
我不太明白你的意思。
首先我数据库中的日期为文本,而且格式为MM-DD,所以在Text1中填的数就不能Cdate,不然根本就不可能取出数据。
好比我数据库中有3-1,3-2,3-3,3-4这几条记录,我现在在text1中输入3-10,结果它取出来只有3-1这条数据,我的意思是如何将后面几条数据都能取出来。 你可以补0,即03-01,03-10 或者在前面加上年份(比如2000),在用cdate
一定要去掉首尾空格。
一定要去掉首尾空格。
一定要去掉首尾空格。
一定要去掉首尾空格。
一定要去掉首尾空格。SQl="select * from Table where RQ <='" & trim(text1.text) & "'"
sql中
"where convert(datetime ,'2002-'+yourfield)>convert(datetime,'2002-'"+yourstring+")"
SQl="select * from Table where RQ '"<= & text1.text & "'"
改成:
SQl="select * from Table where cdouble(RQ) '<= & cdouble(text1.text)
因为日期数据本来就是双精度数据
不知这样能否凑效