Проблему решил следующим образом:
1. создал отдельную кнопку, которая создает новую (пустую) строку, а заодно записывает значение из этого поля.
2. во второй кнопке оставил запись оставшихся полей. получился вот такой вот код:
procedure TForm2.Button3Click(Sender: TObject);
begin
ADOTable1.Insert;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
if Edit3.Text = '' then Edit3.SetFocus;
if Edit2.Text = '' then Edit2.SetFocus;
if Edit1.Text = '' then Edit1.SetFocus;
if (Edit1.Text = '') or (Edit2.Text = '') or (Edit3.Text = '') then begin
ShowMessage('Не заполнено поле!');
exit;
end;
ADOTable1['test1']:=Edit1.Text;
ADOTable1['test2']:=Edit2.Text;
ADOTable1['test3']:=Edit3.Text;
ADOTable1.Post;
begin
Edit1.clear;
Edit2.clear;
Edit3.clear;
end;
end;
Принцип действия:
1. добавляем пустую строку;
2. выбираем значение в поле DBLookupComboBox1;
3. заполняем остальные поля;
4. нажимаем на кнопку "Записать". и получаем то, что требовалось.
Минуса два:
1. добавилась новая кнопка. Теперь чтобы внести новую запись, надо нажимать на две кнопки каждый раз, вместо одной:
2. Если внесли новые данные в таблицу 1, чтобы их подхватил компонент DBLookupComboBox1, требуется перезапустить программу.