Хорошо, здесь есть много вещей, которые нужно проверить. Во-первых, размещение me.Dirty = false во включенном состоянии или события, подобные предыдущему обновлению, приведут к тому, что «то же самое» событие будет выполнено снова. Вы действительно (но на самом деле) не хотите этого делать. (настолько дикое случайное добавление me.dirty в этих событиях только усугубит эту проблему и часто вызывает повторное срабатывание того же самого события.
next:
All tables have a create/modified timestamp trigger on updates and insert
Ok Теперь вышесказанное сбивает с толку. Есть ли у вас фактический триггер - так как это отдельная проблема, и она часто приводит к тому, что запись была изменена кем-то другим.
Также, когда мы говорим о столбце метки времени, оставайтесь в Имейте в виду, что такие столбцы имеют значение ZERO ZERO ZERO для datetime. На протяжении многих лет Microsoft пыталась «изменить» используемое имя. Правильное имя - ROWVERSION, и этот столбец НЕ является столбцом типа данных datetime, но называется меткой времени. Ни в коем случае не путайте эту систему / столбец строк со столбцом даты и времени.
Итак, предположения таковы: у вас есть столбец отметки времени - это отметка времени типа данных. Этот столбец НЕ затрагивается вашим кодом или триггер ЛЮБЫМ. Этот столбец НЕ имеет ни datetime, ни datetime2, но имеет тип данных timestamp.
Если вы это сделаете Здесь нет фактического столбца меток времени (он не должен быть в форме), тогда вы получите постоянные «грязные» предупреждения. Вы также получаете это с любыми реальными столбцами типа данных - особенно если они установлены кодом сервера. (доступ будет округляться иначе).
Итог: вам нужен фактический столбец версии строки (типа timestamp) в этой таблице. За кулисами, если доступ НЕ находит этот столбец, он будет сравнивать столбец за столбцом и без вопросов с триггером для установки некоторого столбца LastUpdated с GETDATE () на триггер на стороне сервера, тогда это не вызовет ничего, кроме проблем. Введение столбца метки времени ОСТАНОВИТ доступ к выполнению сравнения столбец за столбцом после обновления, и он будет смотреть ТОЛЬКО на столбец метки времени. Таким образом, теперь ваш триггер может обновлять LastUpdated, и столбец отметки времени не должен меняться с точки зрения доступа.
Итак, вы должны быть уверены:
Столбец PK виден при доступе - для всех sql таблиц требуется PK.
Все таблицы должны иметь столбец версии строки.
Если вы добавите столбец метки времени (rowverison) в таблицу проблем, убедитесь, что вы повторно связались на стороне клиента доступа. Фактически, после ЛЮБОГО изменения или модификации серверной стороны, вам следует повторно связать клиентскую сторону.
Я бы удалил любого заблудившегося меня. Грязный = Ложный код в этой форме.
Вы можете поместить кнопку "сохранить" в форму, если вы sh, и просто получить ее go
if me.dirty = true then me.Dirty = False
Редактировать
При вышеописанной настройке вы сможете повторно запустить серверный триггер, который устанавливает LastUpdated. Однако вам не нужен код в форме, который «касается» или использует этот столбец. Однако вы можете иметь возможность вставить этот столбец LastUpdated в форму и увидеть его обновление после сохранения.