как узнать редактируется ли запись?

наутилус
Дата: 21.09.2005 11:49:04
Как можно узнать редактируется ли запись другим пользователем из вба?
Пояснение задачи. Первый пользователь вводит данные и иногда забывает закрыть форму. Второй, после ввода записи первым, правит запись, но программно (нажимает кнопки и запись апдейтся через currentdb.execute)
Вот перед апдейтом и хотелось бы знать.. не заблокирована ли запись первым пользователем?
Iskander68
Дата: 21.09.2005 12:05:05

Может, лучше ошибку обработать?

--
Regards
Alexander Artamonov


"наутилус" <nospam@sql.ru> сообщил/сообщила в новостях следующее:
news:1897378@sql.ru...
Как можно узнать редактируется ли запись другим пользователем из вба?
Пояснение задачи. Первый пользователь вводит данные и иногда забывает
закрыть форму. Второй, после ввода записи первым, правит запись, но
программно (нажимает кнопки и запись апдейтся через currentdb.execute)
Вот перед апдейтом и хотелось бы знать.. не заблокирована ли запись первым
пользователем?
Тема Ответить

Posted via ActualForum NNTP Server 1.3

Latuk
Дата: 21.09.2005 12:19:10
Если хочется знать именно перед этим
то придется писать свою писсимистическую блокировку
(у Гетца кажись есть пример)
или редактировать копию записи во временной табличке,
а сливать изменения запросом
тогда вопрос блокировок не будет таким острым
но будет вероятность потери данных измененных другим юзером
после захвата копии
(что не критично если юзера редактируют одну запись но разные поля)
Latuk
Дата: 21.09.2005 12:24:27
>и иногда забывает закрыть форму
С этим вообще просто боротся
отслеживай на форме клаву и мышь
если юзер ничего не делает определенное время
то сливай изменения в базу
Me.Refresh или Me.Dirty = False
соотв. никакой блокировки не будет
наутилус
Дата: 21.09.2005 13:06:00
юзвери правят разные записи... но похоже иногда первый "блокирует" второму правку записи...
переделаю сейчас немного...
msn13
Дата: 21.09.2005 14:15:56
Latuk

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

да это если клиент разделенный, т.е. у каждого пользователя свой запрос на обновление (у каждого свои поля), а если нет то тоже критично. правда можно написать свою ф-ию которая будет такой запрос формировать из полей которые редактировались
Latuk
Дата: 21.09.2005 17:20:29
Имелось ввиду если источники форм разных юзеров
содержат непересерающиеся множества полей одной записи
соответственно запросы на копирование/слив будут содержать разные поля
и риска потери данных не будет.