|
|
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
Access 2002 Перелопатил весь форум, но четкого понимания пока нет. У меня разделенная сетевая база. Таблицы на сервере, клиентская часть у юзеров. Юзеры открывают ленточную форму для ввода накладных. С помощью docmd.ApplyFilter выбирают нужную им аптеку. Docmd.gotorecord acLast В форме видны две записи: одна последняя и одна пустая. Начинают пустую заполнять.Как только юзер ее начинает заполнять, сразу появляется следующая пустая (новая) запись. Была проблема с тем, что, пока один пользователь не перейдет к следующей новой записи, то другие юзеры блокируются. Честно говоря, я несколько запутался во всех этих блокировках. После ряда экспериментов решил так: на exit каждого поля записи повесил DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70 ( т.е "Обновить"). Проблема блокировки пропала, но увеличилась задержка при переходе с одного поля на другое (связанная с обновлением записи, как я понимаю) Установки Access ( все по умолчанию): Блокировка по умолчанию (отсутствует) Блокировка записей при открытии БД -стоит галка. Попробовал вместо обновления каждого поля по exit уменьшить в самих установках Access период обновления до 1 с. И вижу, что данные не обновляются. Если обновить форму принудительно через меню, то обновляются. Вопрос : а почему? Я что-то не так понял? И как еще можно решить проблему блокировки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 16:55 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
Попробуй так: docmd.GoToRecord ,,acNewRec ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 17:26 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
2 Kelmi Где поставить Docmd.gotorecord acNewRec? На exit каждого поля - так это ерунда получится,т.к. все время будут перескакивать на следующую запись, не заполнив предыдущую. 2 себе мысли вслух :^) Если форму сделать одиночной, то следующая новая (пустая) запись не будет открываться при заполнении предыдущей,и , соответственно, не будет резервироваться данным пользователем. Так я понял. Правда, вариант одиночной формы не устраивает. И еще все-таки почему не происходит обновление при уменьшении периода обновления в установках Access? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 17:31 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
автор Где поставить Docmd.gotorecord acNewRec? В том же месте, где у тебя Docmd.GoTo acLast автор На exit каждого поля - так это ерунда получится,т.к. все время будут перескакивать на следующую запись, не заполнив предыдущую А это (OnExit) убери нафиг :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 17:36 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
Ща попробую. Спасибо. Правда результат будет только завтра, когда все активно начнут вносить накладные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 17:50 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
2 Kelmi Постой, но все -равно, когда юзер начинает эту самую NewRec заполнять, следующая NewRec тут же открывается, и , следовательно, как-бы резервируется для данного пользователя. Значит другой пользователь на новую запись не перейдет,т.е. проблема не решается? Или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 17:58 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
Да ни чё там не резервируется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 18:00 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
Те записи, которые просто показаны на экране, никак не резервируются и не блокируются. Так что одиночная форма ни при чем. А новая запись, которая в самом низу, - она вообще не физическая запись, а только картинка на экране. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 18:09 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
2 Саныч Т.е. все дело в том, что при применении фильтра нужно переходить не на Last , а на New (как предложил Kelme) , так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 18:31 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
Переходить-то надо на New, это само собой, но я не понимаю, откуда берутся блокировки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 18:34 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
дык , если бы я знал! Когда был переход на Last, то пока юзер не закончит заполнять запись и не перейдет к полю пустой ( отображаемой на экране) записи, другие юзеры на такую же пустую запись перейти не могут. Сейчас поставил переход на New. Посмотрю, что будет. Кажется мне дело в том, что, если нет перехода на New сразу, то при заполнении этой new записи, обновление не происходит и ... короче, короче запутался я, в общем. Ответ где-то рядом, но не могу ухватить мысль за хвост.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 18:44 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
а)Может в форме в свойстве Record Locks стоит "Edited Record"? Код: plaintext 1. б) Это случаем не аналог DoCmd.RunCommand acCmdSaveRecord? Если а и б - правда, то тогда надо св-во Record Locks сделать No locks ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 18:48 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
2 Kelme a) стоит блокировка отсутствует ( т.е. No Locks) б) Аналог ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 18:50 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
Ну тогда ерунда какая-то выходит Ты главое не забудь убрать OnExit для всех контролов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 18:53 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
2 Kelme Завтра посмотрим. OnExit у меня кое-где остается, но не с целью обновления записи (SaveRecord), а лишь для отслеживания правильного введения даты , например: msgbox ("дата прихода введена неправильно!") и еще для помещения в поле Итого суммы 2-х других полей. Я думаю, что это на тему, поднятую в топике, никак не влияет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 19:05 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
Для отслеживания надо не OnExit, а BeforeUpdate. Там можно писать Cancel=True. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 19:06 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
2 Саныч Sorry, sorry! Уже и сам забыл - сейчас посмотрел, а у меня действительно и суммы и msg на BeforeUpdate. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2004, 19:11 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
А-А-А-ААААААА! Опять блокировка!!! Что за хрень? Единственно, что знаю точно: если обновлять принудительно после каждого поля, то проблемы нет, но начинает тормозить. Уже писал, что хотел,вместо принудительного обновления путем SaveRecord, просто уменьшить период обновления в установках самого Access. Но почему-то в этом случае ничего не обновляется, хотя период обновления поставил 1с. Кто знает, в чем тут дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 16:32 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
А принцип поменять? Например форма с несвязанными полями, которые зполняются. и кнопочка, генерящая insert в таблицу из значений этих полей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 17:17 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
2 Темный Убьют :-) Если серьезно, то можно попробовать, хотя крику будет... Кнопочки лишние нажимать, мол и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 17:45 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
Одна лишняя кнопка. И насколько меньше тебе геморроя. Время выполнения этого инсерта - миллисекунды. А так человек может очень долго заполнять одну запсиь. Посмотрит в одну бумажку, в другую. Пойдет что-то выяснить... & etcetera Необязательно на кнопку. Можно ведь и на закрытие формочки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 17:55 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
2 Темный Тут ,понимаешь, вот еще какая фишка: эта форма одновременно и для ввода и для вывода. Т.е. они в ней должны после применения фильтра видеть все свои ранее занесенные накладные и в ней же добавлять новые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 18:26 |
|
||
|
еще раз про обновление и блокировку
|
|||
|---|---|---|---|
|
#18+
Эх... Гулять, так гулять... Вот есть у тебя формочка для вывода... А на ней кнопка "Ввод данных", которая увеличивает высоту формочки. И там появляются поля для ввода. Несвязанные. И кнопочка "Сохранить" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2004, 19:19 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32430087&tid=1676273]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
155ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 444ms |

| 0 / 0 |
