![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() Всем привет!
Нужна помощь в создании динамического запроса. Имеется БД (Access) c двумя таблицами. Имеется Form1 c ADOConnection, DataSource, ADOQuery2, DBLookupComboBox1и DBLookupComboBox2 Требуется чтобы по выбору какого-то значения из DBLookupComboBox1 формировался динамический запрос для последующего вывода данных в DBLookupComboBox2. Как я это пытался сделать: Код:
procedure TForm1.DBLookupComboBox1Click(Sender: TObject); begin ADOQuery2.Close; ADOQuery2.SQL.Clear; sql:= 'SELECT * FROM power WHERE [Модель] = Form.DBLookupComboBox1.Text'; ADOQuery2.SQL.Add(sql); ADOQuery2.Open; DBLookupComboBox2.KeyValue := DBLookupComboBox2.ListSource.DataSet.FieldByName(DBLookupComboBox2.KeyField).Value; DBLookupComboBox2.Refresh; end; end. При запуске компилятора и выборе в DBLookupComboBox1 любого значения появляется ошибка: "... Параметр DBLookupComboBox1 не имеет значения по умолчанию..." Где я накосячил ? Последний раз редактировалось lmikle, 13.10.2013 в 03:13. |
#2
|
||||
|
||||
![]() Цитата:
Код:
sql:= '"SELECT * FROM power WHERE [Модель] =' + Form.DBLookupComboBox1.Text + '"'; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
||||
|
||||
![]() Провал.
DB-компоненты созданы для связывания вашего DataSet'а c вашими глазами. Связь происходит (чтоб было понятнее) с ячейкой, пренадлежащией активной строке. А вы пытаетесь использовать DBLockUpComboBox для "фильтрации". При изменении значения в этом боксе изменится значение и в DataSet'e. Нужен обычный ComboBox. Его Lines заполняются запросом вида Код:
Select Distinct(колонка) From ваша_база.ваша таблица После чего используется запрос, который вам привели выше. |
#4
|
||||
|
||||
![]() Я правельно понял? Нужно в свойствах ComboBox в Items прописать этот запрос - Select Distinct (Мощностной режим) speakers.power
Далее запрос SQL как было сказано выше Попробовал теперь выдаёт ошибку - "Ошибочная инструкция SQL" |
#5
|
||||
|
||||
![]() Нет, в Items вы должны записать результат запроса.
У вас какая БД и через какие компоненты реализуется подключение к БД? |
#6
|
||||
|
||||
![]() БД сделана в Access, подключается через ADOConnection и DataSource
|