Доступ иногда переходит к существующей записи на сохранение новая запись - Access2k FE/SQL2005 БЫТЬ

Mac OS X (10.4, 10.5, 10.7, 10.8):

darwin

Linux (2,6 ядра):

linux2

Windows XP 32 бита:

win32

Версии в скобках были проверены - другие/более новые версии, вероятно, будут тем же.

12
задан ROMANIA_engineer 22 January 2018 в 18:30
поделиться

4 ответа

Клиент иногда сообщает о похожих проблемах. Это началось сразу после того, как они начали использовать репликацию слиянием.

Я проинформировал несколько контактов в группе продуктов Microsoft Access, а также моих коллег по Access и MVP по SQL Server.

Отправьте мне свой адрес электронной почты по электронной почте, чтобы я мог переслать его своим контактам в Microsoft, поскольку я предполагал, что они захотят связаться с вами напрямую. Тони на granite.ab.ca

Кстати, отличное решение проблем и подробное описание проблемы.

8
ответ дан 2 December 2019 в 19:31
поделиться

Мне интересно, в каком сценарии вы используете форму для добавления записей, в которых есть другие записи, к которым пользователь может перейти.

То есть я не верю в использование той же формы для редактирования записей, которая используется для их создания.

Вместо этого я использую несвязанный диалог для сбора всего необходимого поля, вставьте запись в SQL, затем откройте основную форму редактирования для этой единственной записи (а не форму со всей таблицей, перемещенной к только что добавленной записи).

Имейте в виду, что в сценарии основной формы / подчиненной формы создание записи в подчиненной форме, когда родительская форма несохранена, вызывает сохранение родительской записи. Возможно, вы захотите проверить, есть ли какой-либо код в событиях Insert и Update основной формы, который вызвал бы повторный запрос основной формы при вставке новой записи (запускается редактированием подчиненной формы).

Но я бы сделал это Тем не менее, лучшая архитектура заключается в том, чтобы избежать такого возможного сценария, загружая только отдельные записи, поэтому нет другой записи, к которой можно было бы перейти. Это, безусловно, ограничит возможности того, где пользователь может оказаться, когда возникнет проблема.

Имейте в виду, что в сценарии основной формы / подчиненной формы создание записи в подчиненной форме, когда родительская форма не сохраняется, приводит к сохранению родительской записи. Возможно, вы захотите проверить, есть ли какой-либо код в событиях Insert и Update основной формы, который вызвал бы повторный запрос основной формы при вставке новой записи (запускается редактированием подчиненной формы).

Но я бы хотел Тем не менее, лучшая архитектура заключается в том, чтобы избежать такого возможного сценария, загружая только отдельные записи, поэтому нет другой записи, к которой можно было бы перейти. Это, безусловно, ограничило бы возможности того, где пользователь может оказаться, когда возникнет проблема.

Имейте в виду, что в сценарии основной формы / подчиненной формы создание записи в подчиненной форме, когда родительская форма не сохраняется, приводит к сохранению родительской записи. Возможно, вы захотите проверить, есть ли какой-либо код в событиях Insert и Update основной формы, который вызвал бы повторный запрос основной формы при вставке новой записи (запускается редактированием подчиненной формы).

Но я бы сделал это по-прежнему предполагаю, что лучшая архитектура - избегать такого возможного сценария, загружая только отдельные записи, поэтому нет другой записи, к которой можно было бы перейти. Это, безусловно, ограничило бы возможности того, где пользователь может оказаться, когда возникнет проблема.

Возможно, вы захотите проверить, есть ли какой-либо код в событиях Insert и Update основной формы, который вызвал бы повторный запрос основной формы при вставке новой записи (запускается редактированием подчиненной формы).

Но я бы хотел по-прежнему предполагаю, что лучшая архитектура - избегать такого возможного сценария, загружая только отдельные записи, поэтому нет другой записи, к которой можно было бы перейти. Это, безусловно, ограничит возможности того, где пользователь может оказаться, когда возникнет проблема.

Возможно, вы захотите проверить, есть ли какой-либо код в событиях Insert и Update основной формы, который вызвал бы повторный запрос основной формы при вставке новой записи (запускается редактированием подчиненной формы).

Но я бы хотел Тем не менее, лучшая архитектура заключается в том, чтобы избежать такого возможного сценария, загружая только отдельные записи, поэтому нет другой записи, к которой можно было бы перейти. Это, безусловно, ограничит возможности того, где пользователь может оказаться, когда возникнет проблема.

3
ответ дан 2 December 2019 в 19:31
поделиться

Я встречал «подобное» поведение, когда есть несколько способов сделать одно и то же. (т. е. выход из текстового поля с помощью кнопки «потерянный фокус» или нажатие кнопки). Поэтому убедитесь, что это не так, если вы еще этого не сделали.

1
ответ дан 2 December 2019 в 19:31
поделиться

Это определенно похоже на проблему с блокировкой записи. Вы используете автономные номера в качестве ПК? Вы пробовали, чтобы два компьютера одновременно добавляли запись в одну и ту же форму (это означает, что один из них будет запускать событие вставки, а другой добавил новую запись в форму, но все еще редактирует ее)?

Не могли бы вы тем или иным способом проверить, остается ли PK вставленной записи после в таблицу аналогичным PK, заданному до вставки (добавив, например, несколько 'debug.print' в ваш код)?

Сценарий может заключаться в том, что 2 ожидающих вставки были даны машиной с одним и тем же PK, вторая автоматически изменяется во время вставки, в результате чего ваша форма теряет «активную» запись.

4
ответ дан 2 December 2019 в 19:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: