访问VBA检查两个日期字段之间的时间段是否超过特定日期

时间:2016-05-27 05:06:19

标签: ms-access access-vba

我有一个Access表单,要求用户输入[开始日期]和[结束日期]。在保存记录之前,我想验证这些字段,以确保在任何给定年份输入的时间段不会超过6月30日。

在我的脑海中,我认为该程序将首先检查[开始日期],如果是1月1日到6月30日,那么[结束日期]必须小于或等于6月30日的。如果[开始日期]在7月1日到12月31日之间,那么[结束日期]必须小于或等于下一年的6月30日

我不确定如何在VBA中表达这一点,所以我们将非常感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

我认为可能是这样的:

Public Function IsDateValid(dtStart As Date, dtEnd As Date) As Boolean
Dim dtDeadline As Date

dtDeadline = DateSerial(Year(dtStart), 6, 30)
If dtStart > dtDeadline Then
    dtDeadline = DateSerial(Year(dtStart) + 1, 6, 30)
End If
IsDateValid = dtEnd < dtDeadline
End Function

答案 1 :(得分:1)

你可以遵循这个方法:

insertOne

请注意反斜杠执行整数除法。