-2147217913 vb中日期越界的问题
text中可以写任意数,现在我想使之写日期,但是如果写的日期不合法就会出现错误。。。。
[解决办法]
用IsDate判断一下是不是日期
[解决办法]
不能用任意数字直接赋值给 Date 型变量。
VB6 支持的日期是 100 年 1 月 1 日至 9999 年 12 月 31 日,对应的整数是 -657434 至 2958465。超出则引起溢出错误。
如果你要支持任意数字,需要根据最小日期或最大日期自己计算超范围的日期。只要考虑好历法年和天文年之间的误差(闰),就可以了。
[解决办法]
if isdate(text1) then
........
else
msgbox "输入数据不是合法的日期数据"
end if
[解决办法]
private sub text1_lostfocus()
if trim(text1.text)<>"" then
if not isdate(text1.text) then
msgbox "请输入日期型数据!",48,"提示"
text1.setfocus
exit sub
else
text1.text=format(text1.text,"YYYY-MM-DD")
end if
end if
end sub