Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как очистить ComboBox ? / 7 сообщений из 7, страница 1 из 1
07.10.2004, 11:03:49
    #32727467
Atanor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как очистить ComboBox ?
Обычно при вводе в поле со списком текста, к-рого нет в списке, и затем переходя курсором на другое поле, ACCESS отказывается покинуть ComboBox до тех пор, пока не будет введен текст, имеющийся в списке, либо нажата ESC.

Как добиться, чтобы после перехода на другой элемент управления ComboBox остался пустым и не давал бы этих реакций, т.е., какую для этого команду надо написать в коде VBA для события “on NotInList” ? Какая команда в VBA имитирует нажатие ESC для поля со списком?
...
Рейтинг: 0 / 0
07.10.2004, 11:06:46
    #32727475
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как очистить ComboBox ?
1. Свойство комбика "Ограничиться списком" = нет
2. в событии пишем примерно такой код
Код: plaintext
if isnull(me.Combo1) then me.Combo1 = null
или просто
Код: plaintext
me.combo1 = me.combo1

Должно сработать :)

ЗЫ: не проверял
...
Рейтинг: 0 / 0
07.10.2004, 12:22:56
    #32727718
Atanor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как очистить ComboBox ?
Свойство комбика "Ограничиться списком" = нет

ACCESS на это отвечает:

Microsoft Access can't set the LimitToList property to No right now.
The first visible column, which is determined by the ColumnWidths property, isn't equal to the bound column.
Adjust the ColumnWidths property first, and then set the LimitToList property.

Но если bound column слелать 1-ой видимой колонкой, то в комбике будет не список фамилий, а значения ID.
Каков выход?
...
Рейтинг: 0 / 0
07.10.2004, 13:39:36
    #32728002
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как очистить ComboBox ?
Читал справку - много думал:
1. событие OnNotInList возникает только если свойство "Ограничиться списком" = Да
2. Не смог грамотно выйти из списка - не хотит он из него выходить
3. От окна с ошибкой избавился
4. Пустое значение в комбик вбил

Код: plaintext
1.
2.
3.
Private Sub ПолеСоСписком0_NotInList(NewData As String, Response As Integer)
    Response = acDataErrContinue
    ПолеСоСписком0 = Null
End Sub
Вдруг поможет :)
...
Рейтинг: 0 / 0
07.10.2004, 14:19:54
    #32728103
Atanor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как очистить ComboBox ?
Спасибо, чуточку помогло.

Благодаря
ПолеСоСписком0 = Null
при переходе на другой контрол комбик покинуть уже получается, однако перед этим раскрывается выпадающий список. Хорошо, если бы этого не было, поскольку курсор на новый контрол приходится устанавливать повторно.

Нет ли идей, какая команда имитирует нажатие ESC ?
...
Рейтинг: 0 / 0
07.10.2004, 14:22:29
    #32728109
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как очистить ComboBox ?
AtanorНет ли идей, какая команда имитирует нажатие ESC ?

me.полесосписком0.undo

Но переходить на другое поле все равно придется еще раз. Можно самому написать замену NotInList (в BeforeUpdate, отключив при этом "ограничившись списком"), но это не сильно удобно.
...
Рейтинг: 0 / 0
07.10.2004, 16:55:42
    #32728469
Iskander68
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как очистить ComboBox ?
Провел опыты. Если переходить табуляцией, то никакого Эскейпа нажимать не нужно. :-)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как очистить ComboBox ? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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