DBLookupComboBox1, как программно поменять тек-щую запись?

mr.dfox
Дата: 13.10.2004 11:00:26
DBLookupComboBox1. Мне нужно сделать так:
Нажимаю на клавишу '1', затем допустим выполняется поиск по ID полю
ADOTable1.locate(тря -ляля).

Затем самое главное, сделать так что бы в DBLookupComboBox1-е высветилась активная запись.

Может кто знает, как это сделать?
Shr
Дата: 13.10.2004 11:10:44
with DBLookupComboBox do
DataSource.DataSet[DataField] := ListSource.DataSet[KeyField];
tygra
Дата: 13.10.2004 11:27:50
2 Shr

А зачем вы вот это написали:
with DBLookupComboBox do ?

Вы что, всегда так свойства компонентов меняете? А зря, нормально нужно писать. Так например:

DBLookupComboBox.DataSource.DataSet[DataField] := DBLookupComboBox.ListSource.DataSet[KeyField];

-- Tygra's --
tygra
Дата: 13.10.2004 11:33:30
Да еще что-то и не то посоветовали.

2 mr.dfox
Вы получше бы объяснили - какая активная запись, откуда? С каким датасетом связан DBLookupComboBox1?

Если вы в его списке отображаете ADOTable1, то тогда делайте так:

DBLookupComboBox1.KeyValue := ADOTable1.Field.Value;



-- Tygra's --
mr.dfox
Дата: 13.10.2004 11:45:32
tygra
Да еще что-то и не то посоветовали.

2 mr.dfox
Вы получше бы объяснили - какая активная запись, откуда? С каким датасетом связан DBLookupComboBox1?

Если вы в его списке отображаете ADOTable1, то тогда делайте так:

DBLookupComboBox1.KeyValue := ADOTable1.Field.Value;



-- Tygra's --



А тот это: :=
tygra
ADOTable1.Field.Value;


Точно правильно написано?
Shr
Дата: 13.10.2004 11:47:58
tygra
А зачем вы вот это написали:
with DBLookupComboBox do ?

Вы что, всегда так свойства компонентов меняете? А зря, нормально нужно писать

Не всегда, но частенько.
А "нормально" - весьма неопределенный критерий. И вообще, такое заявление - это почти провокация пофлудить. Я этим заниматься не собираюсь.

По поводу KeyValue:
Если Lookup привязан к DataSource - то это не сработает. Точнее, сработает, но в DataSet ничего не запишет.
А вот если не привязан - то сработает, а мой вариант выдаст access violation. Так что, да, надо было у автора вопроса уточнить

2 mr.dfox:
Привязан ли к LookupComboBox1 набор данных? Если да, то надо ли в нем менять значение?
mr.dfox
Дата: 14.10.2004 12:36:19
Привязан ли к LookupComboBox1 набор данных? Если да, то надо ли в нем менять значение?

Да привязан, сменить занчение нужно в LookupComboBox1
Сделал это так:

procedure THrono.type_actKeyPress(Sender: TObject; var Key: Char);
var
kod:integer;
begin
case key of
'1': kod:=4;
'2': kod:=5;
'3': kod:=6;
'4': kod:=7;
..
..
'7': kod:=1;
end;
if ADOQuery1.Locate('id_class',kod,[loPartialKey]) then begin
type_act.KeyValue:=ADOQuery1.FieldValues['id_class'];
....
..
end;
--------------
Может есть другой способ?
Новичёк-любитель
Дата: 28.11.2008 22:57:41
Здравствуйте!!!!
Мне нужно программным путём изменить основные свойства DBLookupComboBox.
Помогите, пожалуйста?!!!!!!!!!