Как проект класса, я создаю базу данных Access 2010, которая отслеживает инвентарь.Для целей этого вопроса есть две соответствующие таблицы, Активы и Действия, и одна соответствующая форма, Обновление Актива.Моя цель - вставлять новую запись в таблицу действий каждый раз, когда кто-то обновляет запись в таблице активов.Новая запись действий будет содержать снимок полей, содержащихся в текущей записи во время сохранения.
Форма обновления актива имеет макрос AuditLog, присоединенный к событию после обновления.Макрос использует команду RunSQL со следующими параметрами:
Оператор SQL:
INSERT INTO Actions (AssetTag, LocationID,Slot,Status,Timestamp,TechID) ;
SELECT(AssetTag,LocationID,Slot,Status,LastUpdated,TechID) FROM Assets WHERE
Assets!AssetTag = Me!AssetTag ;
Использовать транзакцию: Да
Однако, когда я идучтобы сохранить запись, я получаю следующую ошибку:
Синтаксическая ошибка в инструкции INSERT INTO
Имя макроса: AuditLog
Имя действия: RunSQL
Аргументы: INSERT INTO Actions (AssetTag, LocationID, Slot, Status, Timestamp, TechID);SELECT (AssetTag, LocationID, Slot, Status, LastUpdated, TechID) ИЗ активов, ГДЕ активы! AssetTag = Me! AssetTag;, да
Номер ошибки: 2950
Я добавил папку с базой данных в список надежных расположений Access.Доступ определенно не моя сильная сторона, поэтому любая помощь будет принята с благодарностью.