Я проектирую базу данных, в которой я хочу отслеживать изменения в моих таблицах, в данном случае таблица «person», такая, что то, что в моем пользовательском интерфейсе Access выглядит как редактирование записи о человеке, фактически появляется в моем PostgreSQL бэкэнд должен быть новой записью с полем времени и имени пользователя, отражающим время и человека, который сделал это редактирование.
Прежде всего, я никогда не пытался создать подобный дизайн с самого начала, поэтому было бы неплохо успокоиться, если я расскажу об этом разумно. Мой главный вопрос, однако, как это реализовать. В общем, формы доступа, кажется, очень сильно предназначены для редактирования записей, и я не уверен, как я могу аккуратно изменить его поведение, чтобы вместо этого вставлять новые.
Насколько я понимаю, событие BeforeUpdate срабатывает перед обновлением на уровне базы данных. Я хотел бы отредактировать метод BeforeUpdate моей формы с помощью кода вроде:
- Отмена обновления базы данных
- Обновление метки времени в Access для записи, с которой он работает
- Обнулить поле recordid в записи, которая является первичным ключом auto_increment, так что при вставке новый идентификатор записи будет назначен автоматически.
- Вставьте новую копию записи, с которой я работаю, в Access
- Если необходимо (я думаю, что это так?), Укажите мою форму доступа на новую запись, которую она только что вставила (кстати, как мне на самом деле найти новую запись, которую я вставил? Могу ли я получить ссылку на нее во время вставки? или к автоинкрементному первичному ключу, который был сгенерирован?)
Спасибо за любую помощь, которую может оказать любой.