如何自动增加访问表中的日期字段

时间:2016-05-27 20:21:00

标签: vba date ms-access access-vba auto-increment

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

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

我不确定是否可以通过Access中的DateAdd功能来实现,所以我想知道是否有任何VBA可以完成工作?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

如果您在表格中定义以下更改前数据宏

BeforeChange.png

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

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

UPDATE TheTable SET CampaignID = CampaignID WHERE WeekEnded IS NULL;