【问题标题】:Access expression, add one year, minus a day访问表达式,加一年,减一天
【发布时间】:2021-09-17 02:09:30
【问题描述】:

我有一个可访问的表格,其中包含合同开始日期、合同结束日期。

它还需要在合同开始日期和结束日期之间自动填充每年的开始和结束日期。

例如,客户签订了 5 年的合同。

01/01/2020 - 01/01/2025

第 1 年的结束日期为 1 年,从合同开始日期减去一天:

2020 年 12 月 31 日。

如前所述,这需要在 Microsoft Access 中编写为表达式。

我找不到关于从单个开始日期(DateAdd 等)开始的多个日期计算的信息。

感谢您的帮助

【问题讨论】:

  • DateAdd() 不适用于表中的计算字段。真的不需要保存在表中。在查询或文本框中进行计算。否则,使用 VBA 填充表字段。 “从一个单一的开始日期计算多个日期”是什么意思 - 根据需要计算尽可能多的字段。
  • 嗨,谢谢,这是我怀疑的,本质上,客户的合同长度可能不同(范围通常在 1 - 5 年之间),有一个开始日期和结束日期,其中付款日期为一年,从开始日期减去一天 - 然后第二天进入合同的下一年(依此类推)。我的目标是让数据库在表格上制定付款日期,而不是查询,但是,看起来查询是前进的方向。再次感谢您的回复。

标签: ms-access expression dateadd


【解决方案1】:

在代码(或查询)中使用 DateAdd:

UltimoYear = DateAdd("d", -1, DateAdd("yyyy", 5, DateStart))

将 5 替换为 1 一年。

【讨论】:

  • DateAdd("yyyy", 5, DateStart) - 1,因为日期算术的默认单位是天。
  • 您好 Gustav,感谢您的回复,我知道 DateAdd 函数的 -1 功能,但是,它不会在表格设置的计算字段中接受此功能。看起来查询是获取此信息的唯一方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 2014-07-05
  • 2014-08-16
  • 1970-01-01
相关资源
最近更新 更多