powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / И о5 про блокировку нескольких записей в таблице.Как правильно?
13 сообщений из 13, страница 1 из 1
И о5 про блокировку нескольких записей в таблице.Как правильно?
    #32398310
Усталый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно ли это? Файл-сервер, А97, н-пользователей, линейная таблица. Нужно по условию блокировать записи в таблице. Например, когда один пользователь начинает работать с записями по фильтру, для остальных записи по этому фильтру должны быть заблокированы на изменение, удаление и добавление.
...
Рейтинг: 0 / 0
И о5 про блокировку нескольких записей в таблице.Как правильно?
    #32398322
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начни транзакцию
Отредактируй нужные записи (Edit - Update без внесения изменений)
Подвесь транзакцию за веревочку куда-нибудь
Когда надо будет освободить записи - завершай транзакцию (если сам эти записи менял - то commit'ом, если только читал - то rollback'ом)

Учти, что в 97-м блокировка только на уровне страниц.
...
Рейтинг: 0 / 0
И о5 про блокировку нескольких записей в таблице.Как правильно?
    #32398326
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Заводим поле: код юзера, который редактирует запись. Теперь осталось вовремя заполнять и чистить это поле, а также предусмотреть возможность блокировок.
...
Рейтинг: 0 / 0
И о5 про блокировку нескольких записей в таблице.Как правильно?
    #32398353
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Саныч
Теперь осталось вовремя заполнять и чистить это поле, а также предусмотреть возможность блокировок
А так же не забывать проверять это поле перед каждым редактированием записи, через код и через формы, а так же смириться с тем, что между проверкой и установкой рукотворной "блокировки" кто-нибудь тебя может тебя опередить.
Да еще и клиент может отвалиться ненароком (не почистив за собой)

В общем, это уже обсуждалось. Не стоит пытаться сделать блокировки не используя родные блокировки. Получится только хуже.
...
Рейтинг: 0 / 0
И о5 про блокировку нескольких записей в таблице.Как правильно?
    #32398361
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Уболтал. :^)
...
Рейтинг: 0 / 0
И о5 про блокировку нескольких записей в таблице.Как правильно?
    #32398372
Усталый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Лох Позорный: А позволяет ли этот способ блокировать добавление новых записей, удовлетворяющих условию фильтра?

2Владимир Саныч: Способ хорош, но требует изменения логики работы и достаточной переработки отдельных кусков:(
Попроще бы что-нибудь, эх....
...
Рейтинг: 0 / 0
И о5 про блокировку нескольких записей в таблице.Как правильно?
    #32398393
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Усталый
А позволяет ли этот способ блокировать добавление новых записей, удовлетворяющих условию фильтра?
Не-а.
Добавление записей вообще сложно заблокировать (если не брать в расчет блокировку всей таблицы), а уж заблокировать добавление записей по критерию - средствами Jet имхо не получится.
...
Рейтинг: 0 / 0
И о5 про блокировку нескольких записей в таблице.Как правильно?
    #32398401
Усталый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мать - Мать - Мать!!! А как же все выкручиваются? Свою логику цепляют? Ндя... :(((((
...
Рейтинг: 0 / 0
И о5 про блокировку нескольких записей в таблице.Как правильно?
    #32398409
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если нужно сложную логику на блокировки - то это только нормальная СУБД вроде SQL и т.п., но никак не Access MDB.

Для MDB в качестве "идеи на коленке" - завести свою таблицу блокировок, что-то вроде - имя таблицы, ключ.

При работе пользователя - нужные записи копируются в эту таблицу, после работы удаляются.

Любые операции вставка/редактирование/удаление делать только при отсутствии соответствующих записей в этой талблице.

Хотя все равно - это глухой вариант, т.к. нужно отлавливать случаи, когда отвалился клиент и не почистил за собой и другие нештатные ситуации.
...
Рейтинг: 0 / 0
И о5 про блокировку нескольких записей в таблице.Как правильно?
    #32398429
Усталый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
incold Хотя все равно - это глухой вариант, т.к. нужно отлавливать случаи, когда отвалился клиент и не почистил за собой и другие нештатные ситуации.
Вот именно, что то мне напоминает? что ходил я такой тернистой дорогой и нажил еще больше проблем чем было:(
Попробую наверное сперва скрестить BeginTrans с какой нибудь логикой по отлову новых записей.
...
Рейтинг: 0 / 0
И о5 про блокировку нескольких записей в таблице.Как правильно?
    #32398530
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сама по себе эта дорога - весьма плохая. Ею не ходят.

Но если сильно хочется, ищи вокруг adLockPessimistic блокировок, BatchUpdates и т.д. (и тд (и тд))

ЗЫ
По поводу вопроса:
Если пользователь ушел на обед до завтра? Все уходят вслед за ним?
...
Рейтинг: 0 / 0
И о5 про блокировку нескольких записей в таблице.Как правильно?
    #32398554
Усталый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Victosha Спасибо почитаю.
...
Рейтинг: 0 / 0
И о5 про блокировку нескольких записей в таблице.Как правильно?
    #32398814
Allll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микрософт о блокировках:
http://www.microsoft.com/accessdev/articles/bapp97/chapters/ba10_4.htm
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / И о5 про блокировку нескольких записей в таблице.Как правильно?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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