我有一个包含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可以完成工作?
答案 0 :(得分:1)
您可以遍历记录集,在找到日期时选择日期,并使用DateAdd为具有相同ID的每个后续记录添加和存储一周 - 直到找到新的ID和日期。等等。
答案 1 :(得分:1)
如果这是一次性的事情,那么仅仅采取Gustav的建议并创建一个循环通过DAO.Recordset
来更新日期的VBA例程可能是最简单的。但是,由于您使用的是Access_2013,我认为我提到了另一种方法:事件驱动Data Macro。
如果您在表格中定义以下更改前数据宏
然后,只要您为具有NULL
[WeekEnded]列的现有[CampaignID]添加新行,数据宏就会使用下周的值填充[WeekEnded]。
如果您在现有表上创建宏并想要更新现有行,那么您只需运行UPDATE查询
UPDATE TheTable SET CampaignID = CampaignID WHERE WeekEnded IS NULL;