|
有一个[年月]文本控件,格式为"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,代码应该怎么写?
比较着急,请不吝赐教。衷心感谢!!! |
|