Dblookuplistbox

  • Автор темы derbote
  • Дата начала
D

derbote

Гость
#1
Пишу свою первую БД, поэтому вопрос задаю в разделе для начинающих.

Есть база данных.
Одна таблица в формате парадокс7 (созданная с помощью Database Desktop).
Псевдоним magica_alias
Имя файла magica_file.db
На форме компонент DBGrid1 связан с Table1 через DataSource1 стандартным способом.
Надо содержимое одного из полей DBGrid1 c названием Adress_F вывести в DBLookupListBox1.
Вроде бы надо что то прописать в ListField или ListSource , но что не знаю.
Хотелось бы увидеть пример, как это делается.

Заранее благодарен.
 
D

derbote

Гость
#3
Предыдущую проблему решил.
Появился еще вопросик.
В ЛистБоксе перечислены поля из ДБгрида.
После выбора поля (щелчком мыши) в ДБЛукапЛистБоксе появляются надписи (поля выбранного в ЛистБоксе) из ДБГрида.
Это все работает нормально.
При щелчке в ДБЛукапЛистБоксе должен выводиться запрос в ДБГрид.
Критерий запроса:
Все поля.
Строки в которых имя поля выбрано в ЛистБоксе, а значение вабрано в ДБЛукапЛистБоксе.
Некомпилится следующая процедура (в составе проги).
Что неправильно?

void __fastcall TForm1::DBLookupListBox1Click(TObject *Sender)
{
int nomer_stroki_ListBox1;
AnsiString imia_zapisi,
imia_polia;

imia_zapisi = DBLookupListBox1->SelectedItem;

nomer_stroki_ListBox1 = ListBox1->ItemIndex;
imia_polia = DBGrid1->Columns->Items[nomer_stroki_ListBox1]->FieldName;

Query1->SQL->Add("SELECT *");
Query1->SQL->Add("FROM ':magica_alias:magica_file.db'");
Query1->SQL->Add("WHERE (imia_polia =
'" + imia_zapisi + "')");

Form1->Query1->Open();
Form1->DataSource1->DataSet = Form1->Query1;

if ( ! Form1->Query1->RecordCount)
{
ShowMessage("nichego netu");
}
}