Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / FAQ: Проблемы при работе с ADP/ADE / 4 сообщений из 4, страница 1 из 1
19.05.2004, 11:14:39
    #32523444
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ: Проблемы при работе с ADP/ADE
Если общественность не против, то начнем создание нового фака по ADP. (хотя Incold уже пытался...)

Первая проблема:

Q: После обновления/добавления записи в форму не могу сохранить запись. Акес постоянно выводит сообщения Скопировать в буфер, Отменить изменения, Сохранить либо "Данные, добавленные в форму, не будут отображены на ней так как противоречат условиям на базовый источник..."
A:
1. Если у вас есть на базовой таблице триггер, котрый при операциях обновления/добавления вставляет записи в другие таблицы, то поможет такое решение
Код: plaintext
1.
В начале триггера \nDeclare @LastIdent Int, @s as varchar( 255 )\nSet @LastIdent = @@Identity\n \n \n\nв конце \n -------------- Correct Identity -------------------\n 
\nset @s = \'SELECT Identity(Int, \' + CAST(@LastIdent as varchar( 10 )) + \', 1 ) as i INTO #_T\'\nEXEC (@s)\n 
Но это решение поможет только, если на таблицы есть поле-счетчик (Identity).
Данная проблема возникает из-за того, что Акес запрашивает у сервера значение @@Identity (номер последнего вставленного счетчика) для каких-то своих целей (д.б. синхронизации). Но так как в триггере после операции вставки в другую таблицу, значение @@Identity изменяется и уже возращает значение от вставленного Identity в другую таблицу - акес не может синхронизировать запись и выдает выше приведенные ошибки (хотя записи в таблицу вставлены). Так как в выше приведеном примере, сохраняется правильное значение @@Identity (в @LastIdent) и после всех действий по вставке в другие таблицу, этот сохраненый @LastIdent искусственно вставляется во временую таблицу, таким образом, когда Акес запросит @@Identity он и получит правильное значение. Для тех таблиц в которых нет поля-счетчика вопрос по разрешению данной проблемы открыт.
Ссылки на топики в котрых возникала аналогичная проблема:
/topic/40261
/topic/93519
...
2. Если это не случай п.1 (т.е. нет триггера, вставляющего данные в другие таблицы), то скорей всего - просто отсуствует команда синхронизации (служит для обновления редактируемой записи). В свойствах формы находи свойство Команда синхронизации (ResyncCommand) и записываем в него текст SQL команды с условием Select бла-бла From ВашаТаблица where [ВашеКлючевоеПоле]=? Знак "?" будет заменем Акесом на значение ключевого поля. Можно использовать для этой же цели и хранимую процедуру.В случае, если в источнике формы используется в базовом запросе связь по нескольким таблицам, то так же надо обязательно выставлять свойство Однозначная таблица (UniqueTable).
Ссылки на топики в котрых возникала аналогичная проблема:
/topic/90086
/topic/66505
/topic/28620
3. В начале триггера нет SET NOCOUNT ON
...
Рейтинг: 0 / 0
21.12.2004, 17:23:40
    #32837601
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ: Проблемы при работе с ADP/ADE
2 Сенин Виктор
А может, этот вопрос окультурить и выложить? Довольно часто вылезает

2 Владимир Саныч
За последний Сфагнумский фак я так и не брался :((
...
Рейтинг: 0 / 0
22.12.2004, 08:35:46
    #32838115
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ: Проблемы при работе с ADP/ADE
Geo2 Сенин Виктор
А может, этот вопрос окультурить и выложить? Довольно часто вылезает


я бы с радостью - вот только когда? И так времени нет. Да и в принципе ответ-то дан. Чего его окультуривать? :) Хотя, если кто желает, то пожалуйста
...
Рейтинг: 0 / 0
30.12.2004, 01:00:15
    #32850671
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FAQ: Проблемы при работе с ADP/ADE
Готовый фак и не в факах. Странно.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / FAQ: Проблемы при работе с ADP/ADE / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]