如何在访问中自动递增日期字段 Table

How to Auto Increment a Date Field in an Access Table

我有一个包含 3 列的 Access table:一个自动编号 "WeeklyID"、一个 fgn 键 "CampaignID" 和一个日期字段 "WeekEnded"。 It looks like this. 我需要完成的是一种为共享相同 CampaignID 的每条记录的日期字段自动添加 7 天的方法。

因此,如果有 3 条记录具有相同的广告系列 ID,并且与第一条记录关联的日期是 4/1/2016,我希望第二条记录上的日期是 4/8/2016,并且第三条记录的日期为 4/15/2016。

我不确定这是否可以通过 Access 中的 DateAdd 函数来完成,所以我想知道是否有 VBA 可以完成这项工作?

您可以遍历记录集,在找到时选择一个日期,并使用 DateAdd 为每个具有相同 ID 的后续记录添加和存储一周 - 直到找到新的 ID 和日期。等等。

如果这是一次性的事情,那么最简单的方法可能就是采纳 Gustav 的建议并创建一个 VBA 循环遍历 DAO.Recordset 的例程来更新日期。但是,由于您使用的是 Access_2013 我想我会提到另一种方法:事件驱动 Data Macro.

如果您在 table

上定义以下更改前数据宏

然后,只要您为现有的 [CampaignID] 添加新行,其中包含 NULL [WeekEnded] 列,数据宏就会用下一周的值填充 [WeekEnded]。

如果您在现有 table 上创建宏并想更新现有行,那么您只需 运行 UPDATE 查询

UPDATE TheTable SET CampaignID = CampaignID WHERE WeekEnded IS NULL;