我已将一些数据导入Excel中的Access。现在我想编写一个类似于trigger的代码,每当我从Excel获取新数据时,它都会更新另一个表。
我知道我无法在Access中编写触发器,因此我尝试使用数据宏。任何人都可以使用数据宏为我提供帮助吗?
答案 0 :(得分:5)
假设您有一个名为[Events]的表,并且您正在从Excel导入数据并将其附加到表中
ID EventName EventType EventDate
-- --------------------- ------------------ ----------
1 New Staff Orientation Training: in-house 2013-06-07
2 TGIF barbecue lunch Social 2013-06-14
假设您还有一个名为[EventTypes]的表来跟踪可以分配给事件的类别。需要批准来自Excel数据的[EventType]值以避免不必要的重复,拼写错误等。您的[EventTypes]表看起来像这样
EventType Added Approved
------------------ ------------------- -------------------
Training: in-house 2013-06-01 09:15:33 2013-06-01 09:37:16
Social 2013-06-07 10:01:23 2013-06-07 10:22:00
您可以在[Events]表上创建一个“After Insert”数据宏,将新的[EventType]值插入[EventTypes]表中,如下所示:
<强> SetLocalVar 强>
名称NOTFOUND
表达式=真
<强>查找记录在事件类型强>
Where Condition = [EventTypes]。[EventType] = [Events]。[EventType]
<强> SetLocalVar 强>
名称NOTFOUND
表达式=假
如果 [NotFound] 那么
在EventTypes中创建记录
<强> SetField 强>
名称EventTypes.EventType
值= [事件]。[EventType]
<强> SetField 强>
名称EventTypes.Added
Value = Now()
结束
现在,如果您使用新的EventType导入事件......
ID EventName EventType EventDate
-- --------------------- ------------------ ----------
1 New Staff Orientation Training: in-house 2013-06-07
2 TGIF barbecue lunch Social 2013-06-14
3 Bathtub races Team Building 2013-06-15
...数据宏会自动将其添加到EventTypes表
EventType Added Approved
------------------ ------------------- -------------------
Training: in-house 2013-06-01 09:15:33 2013-06-01 09:37:16
Social 2013-06-07 10:01:23 2013-06-07 10:22:00
Team Building 2013-06-11 08:38:37