ms-access - MS Access - 四岁生日后的日期
问题描述
希望是一个相对简单的查询。
我正在使用 MS Access,我正在尝试从他们 4 岁生日后的 9 月 1 日出生日期开始计算。
因此,如果我的出生日期是 02/07/2015,它将返回 01/09/2019。
如果我的出生日期是 03/09/2015,它将返回 01/09/2020。
任何帮助将非常感激。
谢谢
解决方案
您可以定义一个函数,例如:
Function SchoolStart(dob As Date) As Date
If DateSerial(Year(dob), 9, 1) < dob Then
SchoolStart = DateSerial(Year(dob) + 5, 9, 1)
Else
SchoolStart = DateSerial(Year(dob) + 4, 9, 1)
End If
End Function
例子:
?SchoolStart(#2015-07-02#)
01/09/2019
?SchoolStart(#2015-09-02#)
01/09/2020
请注意,使用当前的函数逻辑,9 月 1 日的生日包括该年入学的孩子:
?SchoolStart(#2015-09-01#)
01/09/2019
或者,如果您想直接在表单的查询或控制源中使用上述逻辑,则可以使用以下内联表达式:
DateSerial(Year([YourDate])+IIf(DateSerial(Year([YourDate]),9,1)<[YourDate],5,4),9,1)
这里,[YourDate]
是包含要执行计算的日期的字段。
推荐阅读
- django - Django - 如何在基于函数的视图中使用模型方法
- python - Python - 如果在线程中获取锁,该线程中的所有变量是否都被锁定?
- html - 防止 riotjs/typescript 中的 html 注释被转译
- asp.net-core - 当某些请求路径被替换时,如何设置 Swashbucle 以查找 swagger.json?
- .net - Swagger 中的访问令牌
- javascript - Nativescript-Vue:在 Frame 中处理发出的事件
- angular - 如何在带有角度的 ionic 4 中的 http URL 请求中传递变量?
- angular - 使用jspdf将大型html内容转换为angular 6中的pdf
- java - Junit 将一些值从 @Test 方法传递到 @Rule 方法
- wordpress - 仅在 XAMPP 本地计算机上的服务中出现 404 错误