Обновление выпадающего списка в зависимости от другого поля

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

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

freeman
Сообщения: 11
Зарегистрирован: 18 май 2009, 08:13

Есть форма на ней 2 поля(список): поле1-Марка телефона, поле2-Модель телефона, поля взяты из одной таблицы «Телефоны».
Нужно создать такой запрос чтобы при выборе определенной марки телефона в поле1, при раскрытии списка модель (поле2), высвечивались только те модели которые принадлежат марке выбранной в поле1.

Заранее благодарен за помощь.
Teslenko_EA
Сообщения: 526
Зарегистрирован: 04 фев 2007, 18:37
Откуда: Сургут
Контактная информация:

Здравствуйте freeman.
Только фраза "создать такой запрос" позволяет предположить о каком приложении идет речь, вопрос о приложении MS Access?
Евгений.
Аватара пользователя
mc-black
Сообщения: 250
Зарегистрирован: 08 май 2008, 16:09
Откуда: Россия, Нижний Новгород
Контактная информация:

Код: Выделить всё

strSQL = "SELECT table1.field2 FROM table1 WHERE table1.field1=""" & Lisbox1.List(Lisbox1.SelectedItem) & """"
На заказ: VBA, Excel mc-black@yandex.ru
freeman
Сообщения: 11
Зарегистрирован: 18 май 2009, 08:13

Teslenko_EA писал(а):....вопрос о приложении MS Access?
Да действительно речь идет о базе в MS Access!!! Прошу прощения что не указал сразу!!!
Teslenko_EA
Сообщения: 526
Зарегистрирован: 04 фев 2007, 18:37
Откуда: Сургут
Контактная информация:

Здравствуйте freeman.
решение Вашей задачи не может быть выполнено простым подключением запроса к ПолюСоСписком. Как минимум еще нужна команда обновляющая его набор записей - Requery, ее можно включить в процедуру обработчик события AfterUpdate (После обновления).
Существует много способов решения такой задачи приемлемых в MS Access.

Справочник программиста (MSA XP) Refer.rar (1.81 Мб) © Егоров А.В., г.Москва,2002г.
Евгений.
freeman
Сообщения: 11
Зарегистрирован: 18 май 2009, 08:13

что то не растет!!!
Попробую обьяснить подробнее:
Таблицы "Марка" и "Модель", связаны по полю марка. поле марка в таб модель заполняеться мастером подстановки из таб марка.
Фрома на дей два списка "марка" и "модель".

как реализовать чтоб после выбора марки, в списке модель были только те модели марка которых выбрана. так же чтоб если меняеш марку список моделей тоже менялся.

попробовал:
Private Sub модель_AfterUpdate()
Requery
End Sub

Private Sub модель_BeforeUpdate(Cancel As Integer)
strSQL = "SELECT model_tel.модель FROM model_tel WHERE model_tel.марка = """ & марка.List(марка.SelectedItem) & """"
End Sub

выдает ошибку: "method or data member not found"

очень нужна помощь!!!! :)
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
Teslenko_EA писал(а):Здравствуйте freeman.
решение Вашей задачи не может быть выполнено простым подключением запроса к ПолюСоСписком. Как минимум еще нужна команда обновляющая его набор записей - Requery, ее можно включить в процедуру обработчик события AfterUpdate (После обновления).
Существует много способов решения такой задачи приемлемых в MS Access.

Справочник программиста (MSA XP) Refer.rar (1.81 Мб) © Егоров А.В., г.Москва,2002г.
Евгений.
отдельное спасибо за базу!!! много интересного вот только все в разделе примеры видемо было сохранено отдельно, если есть возможность скачать их где нить былоб неплохо!!!! ;)
Teslenko_EA
Сообщения: 526
Зарегистрирован: 04 фев 2007, 18:37
Откуда: Сургут
Контактная информация:

Здравствуйте freeman.
обновляться дллжен источник строк (запрос) контрола, условия отбора которого изменились:
Список.Requery.
"strSQL" - переменная содержащая текст запроса, должна быть подключена к контролу в качестве источника строк, а не просто сформирована:
Список.RowSource = strSQL
в справочнике достаточно много информации и без примеров (я их тоже не видел :( ).
Удачи Вам.
Евгений.
Вложения
db1.zip
(11.56 КБ) 77 скачиваний
freeman
Сообщения: 11
Зарегистрирован: 18 май 2009, 08:13

Большое спасибо за живой пример, с ним этот запрос получился!!! Думал дальше будет по анологии, но не тут то было!!! :)

Сейчас нужно в добавленное поле "группа" вывести название группы, которой пренадлежит модель выбранная по предыдущему запросу в поле "модель".

подкоректировал ваш пример :)
Вложения
db1.zip
(22.9 КБ) 54 скачивания
Teslenko_EA
Сообщения: 526
Зарегистрирован: 04 фев 2007, 18:37
Откуда: Сургут
Контактная информация:

Здравствуйте freeman.
надеюсь верно понял Ваше пожелание.
Евгений.
Вложения
test.zip
(17.2 КБ) 71 скачивание
freeman
Сообщения: 11
Зарегистрирован: 18 май 2009, 08:13

Teslenko_EA писал(а):Здравствуйте freeman.
надеюсь верно понял Ваше пожелание.
Евгений.
Спасибо, сам посидел до 2 ночи, тоже получилось но вот только осталась финишная прямая а у меня опять ступор.

последнее для этой формы: выбор по 2м условиям.

в прекрепленном примере есть код группы и услуга, в итоге по коду услуге должно автоматически появиться текст настроек.
Вложения
test.zip
(45.65 КБ) 63 скачивания
Ответить