从员工表中的DOB计算退休日期[英] Calculating Retirement Date from DOB in an Employee Table

问题描述

如果 DOB 为 01.04.1960,则 DOR(退休日期)将为 31.03.2020.
否则,如果 DOB 为 02.04.1960 或该月的任何其他日期,则 DOR 将为 30.04.2020.
(退休原则= DOB+60年)

解决方案
这很简单,DateAdd Function 应该可以解决问题.

DateAdd ( interval, number, date )

需要注意的一件事:Internally Access 使用美国格式 #MM/DD/YYYY# 处理日期,尤其是在 VBA 中.通常,SQL 和 VBA 引擎都能正确处理国际格式;但是,如果您对返回正确日期的函数有疑问,那么您可以尝试以美国格式显式设置日期(注意表示日期文字的"#"):
DateAdd("Y",60,#04/01/1960#)

别以为就这么简单.

如果没有我通常对美国日期格式完全不合逻辑的咆哮,以及英国日期格式的不合逻辑程度,我对理解 Nityanda 问题的逻辑有点茫然.

他或她似乎说如果 DOB 是本月的第一天,那么 DOR 是 DOB + 59 年 + 361、362、363、364 天(取决于月份)带您到上个月的最后一个日期.

另一方面,如果 DOB 是在月初之后,则 DOR 是 DOB + 60 年 + 最多 29 天(取决于该月的天数)带您到月底.

这似乎真的不合逻辑.OP能否在给出解决方案之前确认这是正确的.

菲尔

ZMBD:
需要注意的一件事:Internally Access 使用美国格式 #MM/DD/YYYY# 处理日期,尤其是在 VBA 中.
和你一起回学校.那是错误的.只有 SQL 中的日期字符串可以被认为是这种行为,但即使那样也不是 100%,因为这只是 SQL 日期字符串的有效格式之一.请参阅文字日期时间及其分隔符 (#).

VBA 和数据库本身的数据在内部将日期存储为数字.这些数字通常反映从已知开始日期算起的天数(及其部分时间).在 MS Office 中,该日期是 1899 年 12 月 30 日.

本文地址:https://www.itbaoku.cn/post/1050672.html

相关标签/搜索