powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / баг с identity в ADP?
5 сообщений из 5, страница 1 из 1
баг с identity в ADP?
    #32060716
dmakar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Accass 2002 ADP:
На сервере есть таблица T1 с identity полем, в триггере на insert у которой вставляется запись в др. таблицу T2, тоже с identity.
После вставки записи в Access форме по Т1 он (access) запрашивает у сервера new_id=SELECT @@identity и выдает команду синхронизации для формы: SELECT * FROM T1 WHERE PK=new_ID, но @@identity, после вставки в T2 уже другое! Поэтому ошибка: <Данные, добавленные в БД, не будут отображены в форме, так как они противоречат условиям на базовый источник записей.> После <Обновить запись> - все появляется.
Подскажите, как бороться? (менять структуру таблиц на сервере не хочется)
...
Рейтинг: 0 / 0
баг с identity в ADP?
    #32060777
BAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://www.hiprog.com/access/article.asp?id=388
...
Рейтинг: 0 / 0
баг с identity в ADP?
    #32060779
ALK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ALK
Гость
попробуй строку синхронизации: SELECT * FROM ( T1 ) WHERE PK=new_ID
...
Рейтинг: 0 / 0
баг с identity в ADP?
    #32060781
BAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Когда-то встречал совет добавлять в такие проблемные
триггеры следующий код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 --в начале:
 
  Declare @Idt As int, @strSQL as varchar( 100 )
  Set @Idt = @@Identity 

...

 --в конце:
 
  Set @strSQL = 'Select Identity (Int, ' + Cast(@Idt as varchar( 10 )) + ', 1) As id Into #Tmp' 
  Execute (@strSQL)
...
Рейтинг: 0 / 0
баг с identity в ADP?
    #32061067
dmakar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за ответы:

1. вариант с INSTEAD OF триггером - не хочу ради клиента слишком усложнять серверную часть. Потом концов не найдешь.
2. вариант с ком. синхр. SELECT (T1) ... - проблему решает лишь частично: я так понимаю, что синхронизация в этом случае вообще не происходит. Поле с IDENTITY в форме не обновляется, и далее все равно вылазят сообщ. об ошибках. Да и бороться с багом при помощи др. бага - как-то не эстетично.
3.Воспользовался вариантом BAlex - подменить @@identity вставкой во временную таблицу.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / баг с identity в ADP?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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