【发布时间】:2013-05-23 14:52:00
【问题描述】:
在我的 Access 数据库表单上,我有一个包含假期时间计算的字段。目前的公式如下:
Function calcVacEarned(asOfDate As Date, HireDate As Date)
Dim yos As Single
yos = (asOfDate - HireDate) / 365.25
Select Case yos
Case Is > 10
calcVacEarned = 120
Case Is > 3
calcVacEarned = 80
Case Is > 1
calcVacEarned = 40
Case Else
calcVacEarned = 0
End Select
End Function
但是,时间显示不正确。我们的假期时间从周年纪念日到第一年的周年纪念日和接下来的日历年。
例如,如果我在 2010 年 2 月 11 日被录用,我的周年纪念日是 2011 年 2 月 11 日,这将给我 1 年的服务和 5 天的假期。 (所以我必须从 2011 年 11 月 2 日到 2011 年 12 月 31 日休息 5 天,否则会失去它们)
然后在 2012 年 1 月 1 日,我的假期时间将从第 2 年的 5 天开始。(我有 2012 年 1 月 1 日至 2012 年 12 月 31 日这 5 天。
2013 年 1 月 1 日,我将进入第三年并获得 10 天。
我需要上面的函数来表示这个......帮助!谢谢
【问题讨论】:
-
如果我在 2010 年 6 月 10 日被录用,我的 1 年日期是 06/10/2011,我的两年日期是 01/01/2012,我的三年日期是 01/01/2013 .
-
与它无关,每年都会重置。
-
如果我正确理解了您的示例,这是否意味着您在受雇的前 365 天有 0 个假期?
-
“时间没有正确出来”是对问题的相当模糊的描述。
-
@PowerUser 是的,这是正确的,您在受雇的前 30 天没有资格休假。
标签: function date ms-access vba