Управляемый событиями макрос данных MS Access для обновления таблицы (пример)

Я импортировал некоторые данные в Access из Excel. Теперь я хочу написать код, аналогичный триггеру, который будет обновлять другую таблицу всякий раз, когда я получаю новые данные из Excel.

Я знаю, что не могу написать триггер в Access, поэтому я пытаюсь использовать макрос данных. Может ли кто-нибудь предоставить мне помощь в том, как сделать это с помощью макроса данных?

1 ответ

Решение

Допустим, у вас есть таблица с именем [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], чтобы отслеживать категории, которые могут быть назначены событиям. Значения [EventType], поступающие из данных Excel, должны быть утверждены, чтобы избежать ненужного дублирования, опечаток и т. Д. Ваша таблица [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], чтобы вставить новые значения [EventType] в таблицу [EventTypes] следующим образом:

SetLocalVar
Имя Не найдено
Выражение = True

Посмотрите на запись в EventTypes
Где Условие =[EventTypes].[EventType]=[События]. [EventType]

SetLocalVar
Имя Не найдено
Выражение = Ложь

Если [NotFound] Тогда

Создать запись в EventTypes

SetField
Имя EventTypes.EventType
Значение = [События]. [EventType]

SetField
Имя EventTypes.Added
Значение = сейчас ()

Конец, если

Теперь, если вы импортируете событие с новым типом события...

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          
Другие вопросы по тегам