我在Visual Basic 6.0中将变量定义为Date,如下所示:
Dim procDate as Date
它工作正常并且从数据库中获取了接受日期。
今天,我收到错误,显示此变量的数据类型不匹配。 当我检查其默认值时,它显示00:00:00,这是没有日期值的时间格式。
这可能是什么原因?
答案 0 :(得分:2)
您似乎正在为ProcDate分配一个字符串。
这是分配Format
生成日期的字符串的规则。它被称为Let
强制。
字符串到日期
如果源字符串可以根据主机定义的区域设置解释为日期/时间,时间或日期值(以该优先顺序排列),则该值将转换为日期。
否则,如果根据主机定义的区域设置可以将源字符串解释为数字或货币值,并且结果值在Double的幅度范围内,则该值将转换为最接近的可表示的Double值,然后这个值被Let-coerced到Date。如果此强制值在Date范围内,则结果为日期值。
如果源字符串无法解释为日期/时间,时间,日期,数字或货币值,则会引发运行时错误13(类型不匹配)。如果转换为Double导致溢出,则会引发运行时错误13(类型不匹配),而不是将引发的运行时错误6(溢出)。