首页 > 解决方案 > MS ACCESS 中的 VBA 调度算法

问题描述

我想根据给定的日期计算一些时间表。就像我有

  1. 开始日期
  2. 结束日期
  3. 工作日,例如,星期一、星期三作为频率

我需要 weekly biweekly triweekly monthly quarterly 从开始日期和结束日期计算日期,还需要匹配给定的工作日。

举个例子

Date start = 05/07/2018
Date End = 15/07/2018
Frequency days = Saturday

我需要每周星期六的日期,然后是每两周的星期六日期,直到它到达结束日期。

我在 MS ACCESS VBA 中尝试了 DAYOFWEEK,这有点帮助,但我需要知道完整的解决方案,以便我可以计算时间表。

感谢您的帮助。

谢谢

标签: vbams-access

解决方案


DateAdd 函数可以完成所有这些。

航空代码:

d = StartDate
Do While d <= EndDate
    Debug.Print d   ' <-- Output date
    Select Case Interval
        Case "biweekly": d = DateAdd("ww", 2, d)
        Case "monthly" : d = DateAdd("m", 1, d)
        ' etc.
    End Select
Loop

推荐阅读