Форум: "Базы";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];
ВнизНе работает DBComboBox Найти похожие ветки
← →
anton2v (2003-04-01 16:29) [0]Ставлю на форму DBComboBox, задаю DBSource и DataField и ожидаю что при запуске программы он мне будет вываливать в списке все значения нужного мне поля, а он вываливается пустой. Работаю через ADO Visual FoxPro Driver.
← →
Mike_Goblin (2003-04-01 16:30) [1]Используй DBLookupComboBox
← →
anton2v (2003-04-01 16:35) [2]а зачем же тогда DBComboBox нужен, я понимаю, что DBLookupComboBox используется для выборки из другой таблицы не так?
← →
Соловьев (2003-04-01 16:38) [3]
> он вываливается пустой
Items смотрел?
← →
anton2v (2003-04-01 16:58) [4]Если я использую DBLookupComboBox он пишет Circular Data links are not allowed.
← →
Соловьев (2003-04-01 17:02) [5]не все данные указал.
← →
Mike Kouzmine (2003-04-01 17:08) [6]Лист соурс и дата соурс - одинаковый, а надо разные.
Для комбо добавь итемс
← →
anton2v (2003-04-02 09:00) [7]А если мне нужно выбирать данные из одной таблицы и в нее же вставлять?
← →
ЮЮ (2003-04-02 09:14) [8]Такой приём особенно удачен при работе с ещё пустой таблицей :-)
Выбирать всё равно надо запросом с DISTINCT или GROUP BY + HAVING, так что создавай ещё один Запрос + DataSource, не жадничай!
← →
Соловьев (2003-04-02 09:18) [9]
> одной таблицы и в нее же вставлять?
попробуй подсоеденить еще один датасерс и его сделать дата. А другой пусть будет лист. В крайнем случае, тебе никто не мешеает еще положить такую же таблицу.
← →
anton2v (2003-04-02 09:25) [10]решил использовать следующую конструкцию, заработало, а проще сделать нельзя?
procedure TfmEquip.LoadToItems;
begin
DBComboBoxEquipType.Items.Clear;
with Data do begin
ADOTableEquips.DisableControls;
SaveBookMark(ADOTableEquips);
ADOTableEquips.First;
while not ADOTableEquips.Eof do begin
if DBComboBoxEquipType.Items.IndexOf(ADOTableEquips.FieldByName("equiptype").AsString)=-1 then
DBComboBoxEquipType.Items.Add(ADOTableEquips.FieldByName("equiptype").AsString);
ADOTableEquips.Next;
end;
RestoreBookMark(ADOTableEquips);
ADOTableEquips.EnableControls;
end;
end;
← →
Соловьев (2003-04-02 09:29) [11]
> if DBComboBoxEquipType.Items.IndexOf(ADOTableEquips.FieldByName("equiptype").AsString)=-1
> then
зачем? ты же сделал:
> DBComboBoxEquipType.Items.Clear;
← →
ЮЮ (2003-04-02 09:37) [12]ADOQueryEquips.SQL.Text :=
" SELECT DISTINCT equiptype FROM Table1 ORDER BY equiptype";
ADOQueryEquips.Open;
DBComboBoxEquipType.Items.Clear;
While not ADOQueryEquips.EOF do begin
DBComboBoxEquipType.Items.Add(ADOQueryEquips.Fields[0].Value);
ADOQueryEquips.Next;
end;
ADOQueryEquips.Close;
← →
anton2v (2003-04-02 12:31) [13]2ЮЮ Thanks оптимизировал с твоим примером, а Create table ADOQuery может делать или только ADOCommand ?
← →
Соловьев (2003-04-02 12:35) [14]
> Create table ADOQuery может делать
может, и не только create...
← →
Виталий (2003-04-03 12:45) [15]Я тоже столкнулся с неживым DBComboBox. Можно, конечно, заполнять Items. Тогда, извините, при чём здесь DB? Чем этот компонент отличается от ComboBox? :-)
← →
vopros (2003-04-03 14:15) [16]>Виталий (03.04.03 12:45)
При изменении значения в Dbcombo меняеться значение в датасет.
А чтобы это происходило и с обычным combo надо ручками еще поработать.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.01 c