|
|
|
Считывание значения комбобокса "опаздывает" на один шаг
|
|||
|---|---|---|---|
|
#18+
Access 2003 Есть таблица со списком имен и фамили (три колонки, ID Name Surname) Есть форма, на которую эта таблица выводится. На форме комбобокс - СВ. Задача состоит в следующем: в процессе набора текста в комбобксе искать имена, в которых введенные символы встречаются и раскрывать список с этими именами. Т.е. J - Jane, John, Jackson; Ja - Jane, Jackson; Jan - Jane Сделано следующее: Private Sub CB_Change() Dim SearchChar As String SearchChar = CB.Value CB.RowSource = "" 'чистим список на случай, если поиск уже не первый Me.Recordset.MoveFirst While Not Me.Recordset.EOF 'Двигаемся по рекордсету таблицы, привязанной к форме If InStr(Me.Recordset.Fields(1).Value, SearchChar) <> 0 Then 'если введенный символ входит в значение поля "Name" CB.AddItem Me.Recordset.Fields("Name").Value 'то добавлем его в список End If Me.Recordset.MoveNext 'смотрим следующую строку таблицы Wend CB.Dropdown 'список сформирован, раскрываем End Sub Проблем две. 1. сабж. Каждый раз после введения нового символа в списке находятся значения, найденные для предыдущего введенного значения. Т.е., к примеру, первый раз раскрываем форму. В комбобоксе значение по умолчанию - "_", символ не входит ни в одно из имен в таблице. Вводим туда "J" - букву, встречающуюся в каждом имени таблицы. Список раскрывается пустой. Вводим другую букву, не встречающуюся ни в одном имени в таблице. Раскрывается список со всеми именами - результат поиска по предыдущей введенной букве. Почему так происходит? Как сделать, чтобы искалось текущее значение, а не предыдущее? 2. В комбобокс не получается ввести больше одного символа. Как сделать, чтобы можно было вводить многобуквенные слова? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2009, 15:36:02 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=201&tid=2179702]: |
0ms |
get settings: |
7ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 199ms |
| total: | 348ms |

| 0 / 0 |
