powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
25 сообщений из 29, страница 1 из 2
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354743
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поле со списком , пользователь набирает в поле значение и свойство автоподстановка предлагает значения по первым введенным символам.
В событии Change поля у меня стоит метод DropDown , список вываливается при наборе, а как выделить в списке то значение которое подходит по первым вводимым символам?
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354750
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Форма -> Конструктор -> Поле со списком -> Свойства -> Вкладка "Данные" -> Автоподстановка -> "Да"
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354759
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то это ты, наверное пробовал. Но это ж нормальное поведение поля со списком. Должно работать. Мб попробовать вместо DropDown на Change делать SendKey на KeyDown?
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354774
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Geo
Свойство поля автоподстановка поставлено в "да". Вопрос не в этом.
Что с SendKeys не получается пока.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354779
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пусть не сендкей, а тот же дропдаун, но на KeyPress или KeyDown. А к моменту Change Access уже обработал нажатие кнопки.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354786
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SendKeys "{DOWN}", False
Выделяет значение по первой букве , но не дает после выделения ни фига ввести в поле!
Блин.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354796
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык, его же только один раз отправлять надо, а не на кажную букву. И не Down, a Alt-Down.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354799
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не пробовал DropDown на событии GotFocus делать? Дабы не мешать аксесу нажатия клавиш обрабатывать?
У меня в нескольких местах именно так все работает.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354802
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Фигню я сморозил, выделяет последнее значение в списке.
Ни черта не получается.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354820
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Private Sub ПолеСоСписком2_KeyDown(KeyCode As Integer, Shift As Integer)
Me.ПолеСоСписком2.Dropdown
End Sub

У меня работает.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354829
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ЛП

Поставил на событие GotFocus.Список вываливается при получении полем фокуса. В событии Change оставил sendkeys. Такая же ерунда, выделяет последнее значение в списке и не даёт ввести текст в поле!

Просто список здоровый и там много наименований (за 150). Пользователь при вводе значения должен видеть выделенное подходящее по первым буквам значение.Если ему подходит жмет Enter, а если нет набирает дальше и Access непрерывно выделяет подобные значения в списке по первым буквам (если таковые имеются). Ясно что значение по нажатию Enter в поле пойдет, но нужно его выделять визуально.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354839
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Geo
И что подходящее значение в списке выделяется? Странно. У меня не работает.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354842
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нафига тебе на событии Change какой-то там SendKeys??
В комбобокс попал - комбобокс раскрыл - а дальше пусть аксес работает. Если ему не мешать - он сам великолепно все выделяет.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354849
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ЛП
Да не выделяет он в списке ни хрена при наборе текста!

Просто когда на клаве жмешь курсор вниз,тогда выделит, а так не выделяет!
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354857
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо еще и в списке выделять?
Тады так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim t As Byte

Private Sub ПолеСоСписком0_GotFocus()
  t =  0 
End Sub

Private Sub ПолеСоСписком0_KeyPress(KeyAscii As Integer)
  If t =  0  And KeyAscii >=  32  Then
    SendKeys ( "%{Down}"  & Chr(KeyAscii) &  "{Down}"  & Chr(KeyAscii))
    t =  1 
    KeyAscii =  0 
  End If
End Sub


Но это, имхо, маразм.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354869
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разумеется маразм.
Нужна одна строчка кода на одном событии
Код: plaintext
1.
2.
Private Sub ПолеСоСписком0_GotFocus()
  Me!ПолеСоСписком0.DropDown
End Sub


И все оно отлично выделяет - и в поле первое подходящее заносится, и в списке оно же выделяется.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354877
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ЛП
Он имеет в виду, что должна инвентироваться одна из строк в списке. Просто на Dropdown список открывается, и в нем первая строка всегда - ближайшая подходящая (за исключением случая, если эта ближайшая находится в конце списка), но она не подсвечена.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354887
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
че -то херней вы тут страдаете.

Если стоит автоподстановка, то она работает. И никакой дроп дауну не нужен. Для автоподстановки этой самой. Не говоря о сендкейсе. Не подсталяется только то, чего в списке (именно этого комбо) нет. Вот если нужно еще и другой контрол заполнять синхронно (например у меня есть формы, где список и поле со списком заняты одним и тем же (можно просто ткнуть в список, можно начать набирать в комбо), и засинхронизированы, то тады мож и надо возиться. Но проще дождаться окончание выбора в контроле, а синхронизацию вешать на afterUpdate.

если хочется иметь эффект, когда ЗНАЧЕНИЕ (.Value, а не текст .Text) комбо меняется (уже) при CHANGE, то так и надо писать в событии - "присвоить Значению то, че нашли", не дожидаясь, пока аксес дождется AfterUpdate (т.е. конца работы юзера с полем).
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354901
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и вапще это ему (автору) нужно, как мне помнится, чтобы синхронно с CHANGE менялся сурс какого-то другого контрола. А там, я мыслю, написан параметр со значением этого самого комбо. Т.е. ему не инвертирование нужно а именно смена значения (параметра) еще при наборе. Вот тут или надо сурс перестроить на .Text, либо апдейтить значение комбо ВСЕ ВРЕМЯ в процессе набора.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354905
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> че -то херней вы тут страдаете.
Херней. А делать-то все равно нечего...

> Если стоит автоподстановка, то она работает. И никакой дроп дауну не нужен.
Человек, если я правильно понял, хочет чтоб не просто подстановка работала, а список открывался. Зачем - я не знаю. Ну и флаг ему.

>если хочется иметь эффект, когда ЗНАЧЕНИЕ (.Value, а не текст .Text) комбо меняется (уже) при CHANGE.
А вот тут вы соврали, батенька. .Value может не иметь ничего общего с вводимым (введеным) текстом. Пример: связанный столбец не отображается.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354908
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> и вапще это ему (автору) нужно, как мне помнится, чтобы синхронно с CHANGE менялся сурс какого-то другого контрола
Вот это память :) Ну я-то этого не помню. Пусть сам скажет, если надо. :) Или пусть мучается
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354917
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Гео
Гео писалПросто на Dropdown список открывается, и в нем первая строка всегда - ближайшая подходящая
А какая нужна? Дальнейшая неподходящая?

Гео писално она не подсвечена.
Да здрасте. Разве что разноцветными лампочками не мигает.

асса писалЕсли стоит автоподстановка, то она работает
Двумя руками за!
Гео писалЧеловек, если я правильно понял, хочет чтоб не просто подстановка работала, а список открывался
Ну и пусть откроет его

асса писалче -то херней вы тут страдаете.
Воистину блин. На ровном месте причем.

и вапще это ему (автору) нужно, как мне помнится, чтобы синхронно с CHANGE менялся сурс какого-то другого контрола
Ну тогда ему (автору) памятник надо поставить за идеально заданный вопрос
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354923
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Да здрасте. Разве что разноцветными лампочками не мигает.
Хорошо. Не подсвечено, если при входе было пустым.
Ну ляд с ним.
Пусть автор скажет, что надо, а то сами с собой тут разговариваем
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354960
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мужики, тут я , тут.

Повторяю еще раз (это не моя приходь а заказчика). Есть поле со списком, в котором более 150 значений. При вводе первых символов в поле должен открываться список и подходящее значение по первым набранным буквам должно выделяться / высвечиваться в списке. При любых изменениях текста в поле надо при наличии подходящих значений выделять в списке.Но и опять же юзер должен без проблем набрать свое, даже если его нет в списке.

Я уже тут замучался просто.

Хрен знает, ЛП говорит , что значение выделяется, а у меня нет.

2 Geo
Спасибо.
Попробовал твой кусочек кода, все равно не выделяет.
...
Рейтинг: 0 / 0
ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
    #32354971
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня работает вроде.
Вышли што-ли табличку и форму (в intal мяу intal.ru).
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ПолеСоСписком, автоподстановка. Как выделять элемент списка при наборе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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