8 / 9 / 3
Регистрация: 18.11.2009
Сообщений: 676
|
|
1 | |
Можно ли выбрать значение из combobox программно?16.01.2013, 23:46. Показов 12187. Ответов 13
Метки нет (Все метки)
никак не могу сообразить как это сделать на vba
причем известно СТРОКОВОЕ значение которое надо выбрать, не индекс.
0
|
16.01.2013, 23:46 | |
Ответы с готовыми решениями:
13
Очистить текст comboBox, чтобы можно было выбрать значение заново Программно выбрать строку в ComboBox'e Программно выбрать итем в ComboBox Программно установить значение ComboBox |
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
17.01.2013, 00:05 | 2 | |||||
Используйте свойство Column. Индексы в Column с 0. Например, значение первого левого столбца Column(0). Для текущей строки второй параметр метода не нужен.
Также, с помощью свойства Column можно находить не только текущие значения, но и любые, задавая второй параметр - строку
1
|
8 / 9 / 3
Регистрация: 18.11.2009
Сообщений: 676
|
|
17.01.2013, 00:24 [ТС] | 3 |
у меня одномерный combobox, значит видимо Column(0)- получит первое значение списка. но как указать - какое долждно быть активным??? ну, аналог выбора самим пользователем!
0
|
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|||||||||||
17.01.2013, 00:30 | 4 | ||||||||||
Поправка.
Небольшая описка - нужна точка, а не восклицательный знак при записи свойства Column. Восклицательным знаком отделяют элементты пользовательских коллекций
Я же написал - выбор текущего значения НЕ требует второго параметра (номера строки). Значение индекса 0 в Column даст первый слева столбец. Обычно, но не обязательно, он занят числовым кодом, а строковое значение во втором столбце слева. Тогда выражение такое (если код и комбо в одной форме)
1
|
8 / 9 / 3
Регистрация: 18.11.2009
Сообщений: 676
|
|
17.01.2013, 00:39 [ТС] | 5 |
да я понял прекрастно как ПОЛУЧИТЬ значение комбобокса. а как сэмулировать выбор определенного значения?
0
|
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|
17.01.2013, 00:56 | 6 |
Не совсем понимаю о чем речь.
Давайте определимся в терминологии. Значением комбобокса является значение столбца, для которого записан номер в свойстве BoundColumn (присоединенный столбец). Но, в отличие от Column, в BoundColumn номера начинаются с 1. Поэтому, когда в BoundColumn написано 1, то значением комбо будет Column(0). В этом случае записи d=Me.МойКомбо и d=Me.МойКомбо.Column(0) равнозначны Можно в цикле обойти весь набор данных комбобокса, можно также в цикле обойти его рекордсет. Если поле со списком основано на таблице, то можно запросом, на основе какого-то фильтра, получить некоторое значение столбца BoundColumn и присвоить комбо его значение Me.МойКомбо=N
1
|
8 / 9 / 3
Регистрация: 18.11.2009
Сообщений: 676
|
|
17.01.2013, 11:02 [ТС] | 7 |
вот у меня есть комбо бокс.
с строчками: строка А строка Б строка С пользователь может раскрыть комбо бокс и выбрать скажем - строку Б. как это же сделать из программы. вот все что хочу узнать) Добавлено через 9 часов 31 минуту получилось вроде
0
|
8 / 8 / 0
Регистрация: 21.05.2016
Сообщений: 45
|
||||||
14.06.2016, 07:38 | 8 | |||||
Добрый день.
Как можно выделить в комбобоксе нужную строку? Например, есть комбобокс с двумя столбцами (id и группа). Id скрыта, отображается только Группа. Список сортируется по возрастанию. Нужно выделить правильную строку по ее id. Добавлено через 1 час 21 минуту ))) Пока ждал методом тыка нашел такое решение (наверняка корявое, но работает):
0
|
8 / 8 / 0
Регистрация: 21.05.2016
Сообщений: 45
|
|
14.06.2016, 08:10 | 10 |
К сожалению без цикла не работает.
Циклом я вычисляю индекс записи, где указан нужный id группы, а потом выделяю строку с найденным индексом. По вашему коду индекс должен совпадать с id группы, но у меня не так.
0
|
8 / 8 / 0
Регистрация: 21.05.2016
Сообщений: 45
|
|
14.06.2016, 08:37 | 12 |
Во блин))) действительно работает)
Объясните, пожалуйста: получается, что поиск ведется по всем столбцам (даже скрытым, с нулевой шириной)?
0
|
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
|
14.06.2016, 08:51 | 13 |
Это не поиск. Это присваивание. Присвоили полю значение и список по полю связи (Присоединенный столбец BoundColumn) немедленно отобразил содержимое остальных столбцов поля со списком (или списка без мультивыбора). Ваш скрытый столбец и есть поле связи, вот список и реагирует на изменение.
3
|
14.06.2016, 08:59 | 14 |
Хм. А просто .Value никто не пробовал менять?
Добавлено через 6 минут А. mobile это и предложил в итоге
0
|
14.06.2016, 08:59 | |
14.06.2016, 08:59 | |
Помогаю со студенческими работами здесь
14
Программно выбрать значение выпадающего списка Выбрать в ComboBox нужное значение Можно ли средствами WinHttpRequest выбрать пункт в Combobox? ComboBox со стилем "csOwnerDrawVariable" как программно выбрать текст? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |