|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
Access 2002. На форме имеется простое Поле6, где вводится строка для поиска и ПолеСоСписком39 назначение которого открыть для юзера список строк с вхождениями поисковой строки в событии "после обновления" для Поле6 такой код: Код: vbnet 1. 2. 3. 4.
источник данных для ПолеСоСписком39 такой: Код: plsql 1.
событие "вход" для ПолеСоСписком39 такой: Код: vbnet 1.
Имеет место такое явление после ввода поисковой строки открывается список ПолеСоСписком39 нажатие Enter не приводит к генерации события "После обновления" соответственно позиционирование заложенное в событии "После обновления": Код: vbnet 1. 2. 3. 4. 5.
в подчинённой форме не происходит. Если же щёлкнуть мышкой в строку в открывшемся ПолеСоСписком39, то всё происходит как надо в любых ситуациях. А хотелось бы всегда Enter -ом. Как это исправить уже не знаю. Перепробовал, как мне кажется, много всего. Enter срабатывает, если содержимое ПолеСоСписком39 изменилось. как только оду и ту же поисковую строку вводишь раза два подряд, начинается отрицательное явление. Подобную конструкцию применяю во многих формах, но именно на этой существует такой спотык. Помогите исправить. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 16:45 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
i_bison, а поле6 случаем не свободное? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 19:11 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
sdku, да, поле6 свободное. попробовать сделать его не свободным ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2016, 23:19 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
sdku, не помогло. установил источник данных для формы где находятся Поле6 и ПолеСоСписком39 оба поля снабдил данными из источника. глюк похоже относится к ПолеСоСписком39. поле со списком надо обхитрить, чтоб оно думало буд-то первый раз обновляется его источник. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 09:23 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
i_bisonAccess 2002. На форме имеется простое Поле6, где вводится строка для поиска и ПолеСоСписком39 назначение которого открыть для юзера список строк с вхождениями поисковой строки в событии "после обновления" для Поле6 такой код: Код: vbnet 1. 2. 3. 4.
источник данных для ПолеСоСписком39 такой: Код: plsql 1.
событие "вход" для ПолеСоСписком39 такой: Код: vbnet 1.
Все это можно выполнять в процедуре Поле6_AfterUpdate() следующим образом, без SendKeys и без процедуры ПолеСоСписком39_Enter() Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 11:16 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
Или так Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 11:18 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
__Michelle, работает. спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 11:44 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
[quot i_bison]Access 2002. На форме имеется простое Поле6, где вводится строка для поиска и ПолеСоСписком39 назначение которого открыть для юзера список строк с вхождениями поисковой строки [quot] Это сильно похоже на масло масляноею А чё не использовать поле6 в качестве образца поиска (с LIKE и поиском/фильтрацией по мере ввода символов) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 11:47 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
sdku, по мере ввода символов было бы ещё лучше. в каком-нибудь будущем проекте можно сделать так пока же описанное мною решение распространено в программе менять нет времени и крайней необходимости ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 15:11 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
__Michelle, в некоторых случаях не работает всё равно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 17:20 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
i_bison, Вообще-то я не пыталась ответить на основной вопрос об Enter. Просто увидела, как можно подправить код. А можете пояснить, что происходит, по порядку? Я поняла, что так: После обновления значения Поле6 обновляется источник данных ПолеСоСписком39 SELECT key_z, txt, findtxt FROM Заказной_лист_НЕОРИГ_find WHERE findtxt Like '*' & get_m_zak_list_find() & '*'. Затем поле ПолеСоСписком39 автоматически получает фокус, а список поля ПолеСоСписком39 автоматически раскрывается, пользователь ищет в списке нужное значение клавишами со стрелками (раз говорится, что не мышью), найденное нужное значение выбирает нажатием клавиши Enter. При этом не всегда срабатывает событие AfterUpdate для ПолеСоСписком39. Правильно или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 17:48 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
i_bison, Пока могу предложить такой рецепт, может, сомнительный, так как он нацелен не на причину несрабатывания, а на следствие. Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 18:06 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
Конечно, не Поле6_AfterUpdate, а ПолеСоСписком39_AfterUpdate. Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 18:08 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
__Michelle, да так оно и есть. уточнить могу следующим. первый раз всегда срабатывает поиск. вводишь поисковую строку, открывается список весь "белый", нажимаешь стрелку вниз, строчка-селектор становится чёрного цвета. ентер срабатывает. если повторно вводишь ту же самую поисковую строку, открывается список с уже черной строкой, как бы выбранная селектором. особенно отчётливо это проявляется когда в раскрывшемся списке одна единственная строка, даже стрелками не двинешь вверх-вниз, тогда ентер не срабатывает ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 18:19 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
__Michelle, годятся все рецепты. попробую этот. но позже. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 18:20 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
__Michelle, с этим кодом заработало и там где не работало спасибо за дельные советы. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 18:28 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
i_bison, Ага. Тогда не надо проверять на Enter. Надо не только обновлять источник данных для ПолеСоСписком39, а и очищать само это поле. Тогда всегда список будет открываться "белым" и будут срабатывать и стрелочки, и Enter. То есть, дополнить Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2016, 18:29 |
|
в поле со списком выбор Enter -ом не приводит к генерации события "После обновления"
|
|||
---|---|---|---|
#18+
__Michelle, девушка,после этого комментария я вас люблю. value = null улучшило ситуацию. но без кода в событии "кнопка вниз" всё равно не обойтись. вот почему. когда юзер НЕ вводя значение в Поле6 сразу открывает ПолеСоСписком39, а там всего одна строка и она чёрная т.е. ранее уже выбранная , то помогает как раз Код: vbnet 1. 2. 3. 4. 5.
поэтому все ваши советы очень уместные и своевременные, с их помощью удалось победить кривляния ПоляСоСписком спасибо большое Мишель за помощь. Если что (как в мультике) мой емайл i_bison@mail.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 11:45 |
|
|
start [/forum/topic.php?fid=45&msg=39251450&tid=1613502]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 364ms |
total: | 492ms |
0 / 0 |