我今天碰到这样一个问题,大家帮我想想办法,找找为什么,我的一个程序在日期输入的地方会出现这样的问题,本来在文本框输入的是2004-08-07 可是当保存到access数据库的时候就变成了2007-04-08的数据了,但是更奇怪的是,这个程序在我的机子上没问题,到别人那台上就有这个问题,请大家帮帮我,急死了~~~~~~~~~

解决方案 »

  1.   

    查看有问题的那台机操作系统的“区域/语言选项”中关于日期的设置。也可以在有问题的那台机上用vb调试:?cdate("2004-08-07")看得出的是什么?
      

  2.   

    在保存前先用format格式化一下试试
      

  3.   

    还有请说明数据库,我想你应该是ACCESS的吧,
    保存的时候如果字段是日期型的,应该把输入的变成"#2004-08-07#"
      

  4.   

    日期时间类型实际上是一个 Double 类型的数字。从字符串转换到日期变量,以及从日期变量转换到字符串,都涉及到日期格式(解释方式)问题。当一台机器的区域设置改变时,日期格式就会改变。要在程序中保证你的数据不受机器区域设置的影响,最好的办法是用
    Format(date, "yyyy-mm-dd")
    处理你的数据。而不要用 yy/mm/dd 这样的格式。
      

  5.   

    先谢谢大家啊,刚我有去那台机器上调试了一下,我仔细的看看一下数据库的数据,进到数据库的数据没有出错,在access里显示是2004-07-08这样的形式,但是用vb读出来后就变成了7/8/04的形式,而且在用了format函数后显示就变成了2007-08-04的日期了,但是他也只对2000年后的日期这样,我试了2000年前的,就没问题,一楼的方法我想是个好办法,但是我是没太明白,一楼是不是说明白点,如那个日期的设置有什么影响,如果是的话,我要用什么方法来解决。急,~~~~~~~~~~~
      

  6.   

    在操作系统中将日期格式设置为:yyyy-mm-dd
    在代码中用format函数格式化后再保存与读取
      

  7.   

    这个应该和你的系统设置有关系,要看你的系统日期设置的格式了,还有好像ACCESS本身也可以设置日期格式。