powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / еще раз про обновление и блокировку
23 сообщений из 23, страница 1 из 1
еще раз про обновление и блокировку
    #32429885
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Access 2002
Перелопатил весь форум, но четкого понимания пока нет.
У меня разделенная сетевая база.
Таблицы на сервере, клиентская часть у юзеров.
Юзеры открывают ленточную форму для ввода накладных. С помощью docmd.ApplyFilter выбирают нужную им аптеку.
Docmd.gotorecord acLast
В форме видны две записи: одна последняя и одна пустая. Начинают пустую заполнять.Как только юзер ее начинает заполнять, сразу появляется следующая пустая (новая) запись.
Была проблема с тем, что, пока один пользователь не перейдет к следующей новой записи, то другие юзеры блокируются.
Честно говоря, я несколько запутался во всех этих блокировках.
После ряда экспериментов решил так:
на exit каждого поля записи повесил DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70 ( т.е "Обновить").
Проблема блокировки пропала, но увеличилась задержка при переходе с одного поля на другое (связанная с обновлением записи, как я понимаю)
Установки Access ( все по умолчанию): Блокировка по умолчанию (отсутствует) Блокировка записей при открытии БД -стоит галка.

Попробовал вместо обновления каждого поля по exit уменьшить в самих установках Access период обновления до 1 с.
И вижу, что данные не обновляются.
Если обновить форму принудительно через меню, то обновляются.
Вопрос : а почему? Я что-то не так понял?
И как еще можно решить проблему блокировки?
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32429963
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй так:
docmd.GoToRecord ,,acNewRec
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32429969
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Kelmi Где поставить Docmd.gotorecord acNewRec?

На exit каждого поля - так это ерунда получится,т.к. все время будут перескакивать на следующую запись, не заполнив предыдущую.

2 себе мысли вслух :^)

Если форму сделать одиночной, то следующая новая (пустая) запись не будет открываться при заполнении предыдущей,и , соответственно, не будет резервироваться данным пользователем. Так я понял. Правда, вариант одиночной формы не устраивает.

И еще все-таки почему не происходит обновление при уменьшении периода обновления в установках Access?
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32429978
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Где поставить Docmd.gotorecord acNewRec?


В том же месте, где у тебя Docmd.GoTo acLast

автор
На exit каждого поля - так это ерунда получится,т.к. все время будут перескакивать на следующую запись, не заполнив предыдущую


А это (OnExit) убери нафиг :)
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32430003
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ща попробую.
Спасибо.
Правда результат будет только завтра, когда все активно начнут вносить накладные
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32430017
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Kelmi
Постой, но все -равно, когда юзер начинает эту самую NewRec заполнять, следующая NewRec тут же открывается, и , следовательно, как-бы резервируется для данного пользователя. Значит другой пользователь на новую запись не перейдет,т.е. проблема не решается? Или как?
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32430021
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да ни чё там не резервируется
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32430037
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Те записи, которые просто показаны на экране, никак не резервируются и не блокируются. Так что одиночная форма ни при чем.

А новая запись, которая в самом низу, - она вообще не физическая запись, а только картинка на экране.
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32430075
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Саныч
Т.е. все дело в том, что при применении фильтра нужно переходить не на Last , а на New (как предложил Kelme) , так?
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32430087
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Переходить-то надо на New, это само собой, но я не понимаю, откуда берутся блокировки.
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32430111
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дык , если бы я знал!

Когда был переход на Last, то пока юзер не закончит заполнять запись и не перейдет к полю пустой ( отображаемой на экране) записи, другие юзеры на такую же пустую запись перейти не могут.
Сейчас поставил переход на New. Посмотрю, что будет.
Кажется мне дело в том, что, если нет перехода на New сразу, то при заполнении этой new записи, обновление не происходит и ... короче, короче запутался я, в общем. Ответ где-то рядом, но не могу ухватить мысль за хвост..
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32430129
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а)Может в форме в свойстве Record Locks стоит "Edited Record"?

Код: plaintext
1.
DoCmd.DoMenuItem acFormBar, acRecordsMenu,  5 , , acMenuVer70 


б) Это случаем не аналог DoCmd.RunCommand acCmdSaveRecord?

Если а и б - правда, то тогда надо св-во Record Locks сделать No locks
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32430135
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Kelme
a) стоит блокировка отсутствует ( т.е. No Locks)
б) Аналог
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32430141
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда ерунда какая-то выходит
Ты главое не забудь убрать OnExit для всех контролов.
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32430158
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Kelme
Завтра посмотрим.
OnExit у меня кое-где остается, но не с целью обновления записи (SaveRecord), а лишь для отслеживания правильного введения даты , например: msgbox ("дата прихода введена неправильно!") и еще для помещения в поле Итого суммы 2-х других полей. Я думаю, что это на тему, поднятую в топике, никак не влияет.
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32430159
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Для отслеживания надо не OnExit, а BeforeUpdate. Там можно писать Cancel=True.
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32430167
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Саныч
Sorry, sorry! Уже и сам забыл - сейчас посмотрел, а у меня действительно и суммы и msg на BeforeUpdate.
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32431552
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А-А-А-ААААААА!
Опять блокировка!!!
Что за хрень?
Единственно, что знаю точно:
если обновлять принудительно после каждого поля, то проблемы нет, но начинает тормозить.

Уже писал, что хотел,вместо принудительного обновления путем SaveRecord,
просто уменьшить период обновления в установках самого Access.
Но почему-то в этом случае ничего не обновляется, хотя период обновления поставил 1с. Кто знает, в чем тут дело?
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32431635
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А принцип поменять? Например форма с несвязанными полями, которые зполняются. и кнопочка, генерящая insert в таблицу из значений этих полей?
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32431683
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Темный
Убьют :-)
Если серьезно, то можно попробовать, хотя крику будет... Кнопочки лишние нажимать, мол и т.д.
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32431712
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одна лишняя кнопка. И насколько меньше тебе геморроя. Время выполнения этого инсерта - миллисекунды. А так человек может очень долго заполнять одну запсиь. Посмотрит в одну бумажку, в другую. Пойдет что-то выяснить... & etcetera

Необязательно на кнопку. Можно ведь и на закрытие формочки.
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32431769
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Темный
Тут ,понимаешь, вот еще какая фишка: эта форма одновременно и для ввода и для вывода. Т.е. они в ней должны после применения фильтра видеть все свои ранее занесенные накладные и в ней же добавлять новые.
...
Рейтинг: 0 / 0
еще раз про обновление и блокировку
    #32431847
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эх... Гулять, так гулять...
Вот есть у тебя формочка для вывода... А на ней кнопка "Ввод данных", которая увеличивает высоту формочки. И там появляются поля для ввода. Несвязанные. И кнопочка "Сохранить"
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / еще раз про обновление и блокировку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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