我的意思不是在窗体的getFocus事件写代码,而是在日历控件的单击事件中应用获得焦点函数或写代码,以便判断是“到来日期”还是“离开日期”获得焦点,根据获得焦点情况不同而相应取得日期控件的值,日历控件的单击事件语句(思路)如下:
if 到来日期 获得焦点 then
Me.到来日期 = Me.Calendar3
else
if 离开日期获得焦点 then
Me.离开日期 = Me.Calendar3
end if
现在关键是如何判断是“到来日期”还是“离开日期”获得焦点,用函数还是用其它语句呢?请指教。
我在应用中又遇到一问题向大家请教:
我想用CVDate函数检测录入的日期是否大于当前日期,便混合使用IF语句,但觉得这样做很不严谨,且新录入时提示CVDate函数无效使用空值,语句如下:
If CVDate([到来日期]) > Date Then
MsgBox "注意,到来日期不能大于当前日期,请重新确认!", vbExclamation + vbOKOnly, "提示"
Me.到来日期 = ""
Me.到来日期.SetFocus
End If
Exit Sub
Select Case Me.Calendar3.Tag
Case "到来日期"
Me.到来日期 = Me.Calendar3
Case "离开日期"
Me.离开日期 = Me.Calendar3
End Select
End Sub
请问,如何修改语句才能达到既能正确录入日期数据,又能正确检测日期是否大于当前日期呢?盼指教。
原来我对条件结构理解错了,现改为如下语句运行通过,请大家继续指点。
Select Case Me.Calendar3.Tag
Case "到来日期"
Me.到来日期 = Me.Calendar3
Case "离开日期"
Me.离开日期 = Me.Calendar3
End Select
If CVDate([到来日期]) > Date Then
MsgBox "注意,到来日期不能大于当前日期,请重新确认!", vbExclamation + vbOKOnly, "提示"
Me.到来日期 = ""
Me.到来日期.SetFocus
End If
谢谢大家,特别感谢tmtony站长!