Все верно, -1, значит в ComboBox пусто.
Пример для нескольких ComboBox.
procedure frmAbonent_bOK_OnClick (Sender: TObject; var Cancel: boolean);
begin
if frmAbonent.cbGroup.dbItemID = -1 then
begin
ShowMessage('Обязательное поле');
frmAbonent.cbGroup.SetFocus;
frmAbonent.cbGroup.DroppedDown := True;
Cancel := True;
end;
if frmAbonent.ComboBox1.dbItemID = -1 then
begin
ShowMessage('Обязательное поле');
frmAbonent.ComboBox1.SetFocus;
frmAbonent.ComboBox1.DroppedDown := True;
Cancel := True;
end;
if frmAbonent.ComboBox2.dbItemID = -1 then
begin
ShowMessage('Обязательное поле');
frmAbonent.ComboBox2.SetFocus;
frmAbonent.ComboBox2.DroppedDown := True;
Cancel := True;
end;
end;
Можно конечно оптимизировать и написать по другому, чтобы было меньше кода, но в этом есть смысл если у вас хотя бы 10 таких ComboBox-ов
Dmitry.