Форум: "Базы";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
ВнизУважаемые не поможете примерчиком.. Найти похожие ветки
← →
vopros (2002-01-22 10:10) [0]Как из таблица загнать в DbComboBox это понятно, но почему я потом из списка не могу выбрать нужную запись чтобы поставить фильтр по этой записи... у меня почему-то всегда первая запись в базе ..и не хочет меняться...Подскажите..
← →
TSV (2002-01-22 10:31) [1]Потому как таблицы у тебя связаны по кодам, а не по названиям.
procedure TSborkaComForm.FilterComboBoxChange(Sender: TObject);
begin
with DataModule1 do
begin
if FilterComboBox.Text = "Нет" then
begin
ComponentsTable.Filter := "";
end
else
begin
CatCompQuery.ParamByName("CatName").Value := FilterComboBox.Text;
CatCompQuery.Open;
ComponentsTable.Filter := "Id_cat = " + CatCompQueryId_cat.AsString;
CatCompQuery.Close;
end;
end; //with
end;
Пояснения следуют...
← →
TSV (2002-01-22 10:39) [2]Есть две таблицы: комплектующие и категории комплектующих. Первая связана со второй связью вида много к одному по полю Id_cat . После выбора из ComboBox(a) посылается запрос на номер категории ( CatCompQuery). Далеше строится выражение фильтра. Можно конечно хранить информацию в каком-то массиве, но я сделал вот так. FilterComboBox заполняется и обновляется при OnFormActivate:
procedure TSborkaComForm.FormActivate(Sender: TObject);
begin
with DataModule1 do
begin
FilterComboBox.Clear;
FilterComboBox.Items.Add("Нет");
CategoriesQuery.Open;
CategoriesQuery.First;
while not CategoriesQuery.Eof do
begin
FilterComboBox.Items.Add(CategoriesQueryCat_name.Value);
CategoriesQuery.Next;
end; // while
CategoriesQuery.Close;
end; //with
end;
Удачи.
← →
Gregory (2002-01-22 10:46) [3]Вообще то DbComboBox предназначен для выбора из списка или ввода значения для конкретного поля текущей записи DataSet. Для выбора записи из DataSet используй DbLookupComboBox.
← →
vopros (2002-01-22 11:54) [4]Спасибо за ответы! Я кажется допер.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c