Запись выделенных строк в listbox в массив или переменную ...

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
fanat_vlg
Сообщения: 2
Зарегистрирован: 02 июл 2014, 00:12

Доброго времени суток!
есть форма с listbox в который вставлены данные из таблицы.
listbox имеет несвязное выделение: простой
необходимо по нажатию кнопки, выделенным строкам в listbox произвести обновление поля в таблице tbl1 и в tbl2 создать новую запись.

меня интересует как значения выделенных строк записать в переменную/массив (из опыта php+sql) и выполнить запрос на обновление и создание.

изучать только начал и не могу найти толковой литературы по компонентам и их свойствам vba.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Не понятно, вопрос про чистый VB или про VBA+Excel.
Кроме того «компоненты» (это слово попахивает Дельфи ;) тут уместнее «элементы управления» или «controls») могут быть использованы разные. Если имеется в виду ActiveX контролы из библиотеки Forms, то у ListBox должно быть свойство Selected(индекс), которое проверяет, выделен ли элемент или нет.
Т.е. цикл от 0 до ListBox1.ListCount и IF ListBox1.Selected(i) THEN…
Если это другой ListBox, то у него может быть, например, свойство-массив где уже лежат индексы всех выделенных элементов списка.
По поводу литературы: у Вас есть инструменты разработки, где есть
1) Object Browser (меню View/Object browser)
2) Debug/AddWatch
С помощью всего этого Вы можете увидеть все свойства и методы любого класса, а также поставить где угодно точку останова и «пощупать», чему равно то или иное свойство в разных ситуациях. Это гораздо цене чем любая литература ;)
fanat_vlg
Сообщения: 2
Зарегистрирован: 02 июл 2014, 00:12

извиняюсь, за не полное описание вопроса.
дело было так :rolleyes:
дело имеем access + vba

есть
- две таблицы tbl1 и tbl2
- одна форма frm1
- один listbox (выделение: простое)
- одна кнопка "сохранить"

необходимо
- вывести в listbox данные из таблицы tbl1 с фильтром (уже реализовано)
- выбрать из таблицы tbl1 несколько записей (от 1 до n)
- при нажатии на кнопку "сохранить"
--в выделенных записях в tbl1 обновить поле (изначально оно постое)
--в tbl2 создать новую запись

читал про selected, listcount и т.п. но пока не поддается.
только начинаю изучать и как правильно назвать компонент или элемент пока не знаю.
скачал книги, но там примеры, а описание самих элементов мало, поэтому не могу понять какое свойство или параметр у элемента за что отвечает.
ну короче я только учусь. не ругайте.
Ответить