Mac OS X (10.4, 10.5, 10.7, 10.8):
darwin
Linux (2,6 ядра):
linux2
Windows XP 32 бита:
win32
Версии в скобках были проверены - другие/более новые версии, вероятно, будут тем же.
Клиент иногда сообщает о похожих проблемах. Это началось сразу после того, как они начали использовать репликацию слиянием.
Я проинформировал несколько контактов в группе продуктов Microsoft Access, а также моих коллег по Access и MVP по SQL Server.
Отправьте мне свой адрес электронной почты по электронной почте, чтобы я мог переслать его своим контактам в Microsoft, поскольку я предполагал, что они захотят связаться с вами напрямую. Тони на granite.ab.ca
Кстати, отличное решение проблем и подробное описание проблемы.
Мне интересно, в каком сценарии вы используете форму для добавления записей, в которых есть другие записи, к которым пользователь может перейти.
То есть я не верю в использование той же формы для редактирования записей, которая используется для их создания.
Вместо этого я использую несвязанный диалог для сбора всего необходимого поля, вставьте запись в SQL, затем откройте основную форму редактирования для этой единственной записи (а не форму со всей таблицей, перемещенной к только что добавленной записи).
Имейте в виду, что в сценарии основной формы / подчиненной формы создание записи в подчиненной форме, когда родительская форма несохранена, вызывает сохранение родительской записи. Возможно, вы захотите проверить, есть ли какой-либо код в событиях Insert и Update основной формы, который вызвал бы повторный запрос основной формы при вставке новой записи (запускается редактированием подчиненной формы).
Но я бы сделал это Тем не менее, лучшая архитектура заключается в том, чтобы избежать такого возможного сценария, загружая только отдельные записи, поэтому нет другой записи, к которой можно было бы перейти. Это, безусловно, ограничит возможности того, где пользователь может оказаться, когда возникнет проблема.
Имейте в виду, что в сценарии основной формы / подчиненной формы создание записи в подчиненной форме, когда родительская форма не сохраняется, приводит к сохранению родительской записи. Возможно, вы захотите проверить, есть ли какой-либо код в событиях Insert и Update основной формы, который вызвал бы повторный запрос основной формы при вставке новой записи (запускается редактированием подчиненной формы).
Но я бы хотел Тем не менее, лучшая архитектура заключается в том, чтобы избежать такого возможного сценария, загружая только отдельные записи, поэтому нет другой записи, к которой можно было бы перейти. Это, безусловно, ограничило бы возможности того, где пользователь может оказаться, когда возникнет проблема.
Имейте в виду, что в сценарии основной формы / подчиненной формы создание записи в подчиненной форме, когда родительская форма не сохраняется, приводит к сохранению родительской записи. Возможно, вы захотите проверить, есть ли какой-либо код в событиях Insert и Update основной формы, который вызвал бы повторный запрос основной формы при вставке новой записи (запускается редактированием подчиненной формы).
Но я бы сделал это по-прежнему предполагаю, что лучшая архитектура - избегать такого возможного сценария, загружая только отдельные записи, поэтому нет другой записи, к которой можно было бы перейти. Это, безусловно, ограничило бы возможности того, где пользователь может оказаться, когда возникнет проблема.
Возможно, вы захотите проверить, есть ли какой-либо код в событиях Insert и Update основной формы, который вызвал бы повторный запрос основной формы при вставке новой записи (запускается редактированием подчиненной формы).Но я бы хотел по-прежнему предполагаю, что лучшая архитектура - избегать такого возможного сценария, загружая только отдельные записи, поэтому нет другой записи, к которой можно было бы перейти. Это, безусловно, ограничит возможности того, где пользователь может оказаться, когда возникнет проблема.
Возможно, вы захотите проверить, есть ли какой-либо код в событиях Insert и Update основной формы, который вызвал бы повторный запрос основной формы при вставке новой записи (запускается редактированием подчиненной формы).Но я бы хотел Тем не менее, лучшая архитектура заключается в том, чтобы избежать такого возможного сценария, загружая только отдельные записи, поэтому нет другой записи, к которой можно было бы перейти. Это, безусловно, ограничит возможности того, где пользователь может оказаться, когда возникнет проблема.
Я встречал «подобное» поведение, когда есть несколько способов сделать одно и то же. (т. е. выход из текстового поля с помощью кнопки «потерянный фокус» или нажатие кнопки). Поэтому убедитесь, что это не так, если вы еще этого не сделали.
Это определенно похоже на проблему с блокировкой записи. Вы используете автономные номера в качестве ПК? Вы пробовали, чтобы два компьютера одновременно добавляли запись в одну и ту же форму (это означает, что один из них будет запускать событие вставки, а другой добавил новую запись в форму, но все еще редактирует ее)?
Не могли бы вы тем или иным способом проверить, остается ли PK вставленной записи после в таблицу аналогичным PK, заданному до вставки (добавив, например, несколько 'debug.print' в ваш код)?
Сценарий может заключаться в том, что 2 ожидающих вставки были даны машиной с одним и тем же PK, вторая автоматически изменяется во время вставки, в результате чего ваша форма теряет «активную» запись.