Конфликт записи в .adp + SQL-сервер

gloryk62
Дата: 27.11.2009 15:05:29
Корректирую запись посредством присоединенной формы. При переходе на другую запись через DoCmd.RunSQL в откорректированную запись заношу время ее изменения. Получаю предупреждение о корректировке измененной записи( заслуженное). Как проще всего избавиться от окна "конфликта записи"?
ё
Дата: 27.11.2009 15:15:50
gloryk62
Корректирую запись посредством присоединенной формы. При переходе на другую запись через DoCmd.RunSQL в откорректированную запись заношу время ее изменения. Получаю предупреждение о корректировке измененной записи( заслуженное). Как проще всего избавиться от окна "конфликта записи"?


поле с дата/время корректировки, - есть в рекордсоурсе формы?
если есть, в Form_AfterUpdate
[поле с дата/время корректировки].Value = Now

это как - проще

правильнее, это делать в аптдейт триггере
ё
Дата: 27.11.2009 15:16:49
...да и это
DoCmd.RunSQL - в адп, это грустно
gloryk62
Дата: 27.11.2009 15:52:01
ё,

Про тригеры знаю, что они есть. Не использовал. У тригера есть параметры( кроме времени ИЗМ мне нужно занести и ИДЕНТ автора )? Если не затруднит - примерчик. Извините, если надоел. Огромное спасибо.
ё
Дата: 27.11.2009 16:05:43
как-то так
CREATE           TRIGGER MyTab_UPDATE_Trigger
ON dbo.MyTab
FOR UPDATE 
AS 
  UPDATE     dbo.MyTab
  SET        DateTimeModif = GETDATE(),    -- Дата/время
             UserModif     = SUSER_SNAME() -- Логин (если надо юзер БД - USER_NAME()) 
  FROM       dbo.MyTab
  INNER JOIN inserted
     ON      dbo.MyTab.id = inserted.id 
и если разрешен рекурсивный вызов тригеров - проверять надо что обновляется
F
Дата: 27.11.2009 16:45:09
Вот такой триггер с вычислением getdate() может намертво повесить не самый слабый сервер.
П-Л
Дата: 27.11.2009 16:47:48
У меня на всех таблицах очень давно работают очень похожие триггеры. Не повисло.
F
Дата: 27.11.2009 16:49:42
При скольких пользователях?
ё
Дата: 27.11.2009 16:51:21
F
Вот такой триггер с вычислением getdate() может намертво повесить не самый слабый сервер.


намек на то что getdate() - вычисляется для каждой строки апдейта?
шота неверится...
F
Дата: 27.11.2009 16:57:08
Ну TimeStamp же не случайно придумали.