Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / я не прав? / 5 сообщений из 5, страница 1 из 1
03.07.2003, 12:46
    #32198319
noj
noj
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
я не прав?
Существует база в MS SQL Server 2000,
клиенты написаны в MS ACCESS 2000.

Сделаал на спех такую страшную вещь - связал клиентское приложение
с таблицами на сервере, через ODBC источник,
одной из рабочих форм указал Источник записей - "Таблица на сервере", т.е.
таблица к которой обращаюсь через ODBC.
Данные вставляются как пологается, но если необходимо изменить что нибудь в вставленной только что записи возникает сообщение:

"Пока вы правили эту запись, она была изменена другим пользователем.
Если сохранить запись, исправления другого пользователя будут потеряны.
Копирование исправлений в буфер позволит просмотреть изменения,
внесенные другим пользователем, а затем, при необходимости, вставить свои
исправления обратно.".

И три кнопки "Сохранить запись", "Копировать в буфер", "Отменить изменения"
при чем кнопка "Сохранить запись" enable = false т.е. не доступна.

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

Утаблицы есть три триггера Instead of Inseart, Instead of Update и For Delete.

Помогите кто может что подправить, а что изменить, в чем я неправ.
Большое спасибо за внимание.
...
Рейтинг: 0 / 0
03.07.2003, 15:33
    #32198617
Шайтан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
я не прав?
Скорее всего виноваты триггеры. У меня было тоже самое пока в триггерах не убрал из условий запросов на UPDATE , INSERT и DELETE ссылки на inserted и deleted
Пришлось сначала скопировать из них нужные данные в временную таблицу
SELECT inserted.ID,inserted.Status , deleted.Status AS OldStatus,inserted.AO_ID INTO #TmpInsDel_tbl FROM inserted INNER JOIN deleted ON inserted.ID=deleted.ID
и потом использовать ее там где раньше использовал inserted и deleted

UPDATE dbo.PL_UpdAO_v
SET KA_ID_Plat = KA_ID_Plat_New, Vlt_ID_rsch =Vlt_ID_rsch_New, KV_ID_rsch =KV_ID_rsch_New , KV_Kurs_rsch =KV_Kurs_rsch_New , RBT_ID = CASE WHEN Doc_ID=6 THEN RBT_ID_New ELSE RBT_ID END ,Doc_ID_Old=Doc_ID+1
WHERE AO_ID IN (SELECT ID FROM #TmpInsDel_tbl)

причем имя пременной таблице должно быть уникальным для базы иначе если триггер запустится изза действий процедуры в которой есть временная таблица с таким же названием то будут проблеммы и будет довольно сложно понять из-за чего.
...
Рейтинг: 0 / 0
08.07.2003, 13:54
    #32201953
noj
noj
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
я не прав?
спасибо Шайтан

я перешел на C++Builder 6, все глюки пропали
больше за ACCESS браться не буду,
разве что делаая локальную базу.
...
Рейтинг: 0 / 0
08.07.2003, 14:01
    #32201968
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
я не прав?
2 Шайтан
Наверно достаточно было в триггер поставить
Set nocount On
...
Рейтинг: 0 / 0
08.07.2003, 14:09
    #32201980
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
я не прав?
больше за ACCESS браться не буду,
разве что делаая локальную базу

И правильно.
Чем меньше людей, который юзают связку Access + ODBC + MS SQL, тем лучше.
И зачем только в майкровофте adp придумали? Загадка блин..
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / я не прав? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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