Office中国论坛/Access中国论坛
标题:
不同office版本之间日期格式的困扰
[打印本页]
作者:
slywolf
时间:
2005-4-11 19:00
标题:
不同office版本之间日期格式的困扰
有一个[年月]文本控件,格式为"yyyy-m",我需要根据它输入值来求月初和月末日期,并将求出的2个日期值与子窗体中的某2个日期字段进行比较。我按下面方法求的日期:
============================================================
Dim Mfirstday, Mlastday As Date '定义月初和月末为日期
'判断【年月】条件是否有输入的值
If Not IsNull(Me.年月) Then '有输入
'根据输入的年月,求出月初和月末日期。先求月末日期
Mlastday = DateSerial(Year([年月]), Month([年月]) + 1, 0)
'求月初日期
Mfirstday = [年月] - Day([年月]) + 1
end if
==============================================================
在office XP中,求出的月初、月末日期格式为 yyyy-m-d,与子窗体中的日期字段格式一致,可以比较得到正确的结果。
但在office2000中,求出的月初、月末日期格式为 yy-m-d(年只有后2位),于是与子窗体中的日期字段比较后得到结果不正确。
我尝试改其中2句代码为:
Mlastday = Format(DateSerial(Year([年月]), Month([年月]) + 1, 0), "yyyy-m-d")
Mfirstday = Format([年月] - Day([年月]) + 1, "yyyy-m-d")
希望用格式来控制,但只有Mfirstday行,Mlastday求出的格式仍然是 yy-m-d。
请教大家2个问题:
1、对日期比较,我理解应该是比较实际的日期序列,好像应该和格式无关才对。可为什么格式不一样就不能比较呢?
2、怎样才能使求出的日期格式无论在哪个office版本中都为 yyyy-m-d,代码应该怎么写?
比较着急,请不吝赐教。衷心感谢!!!
作者:
slywolf
时间:
2005-4-11 19:14
我大概找到原因了,不是office版本的不同,而是控制面板中的区域设置的不同。把“日期”格式改为 yyyy-m-d,就ok了。
但上贴第1个问题还希望有大虾能解释一二。还有,为什么对Mlastday使用format()后没有效果?
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3