Задать вопрос
  • Как правильно использовать DBLookupComboBox для выборки данных из таблицы (Delphi 7)?

    @sakhdoc Автор вопроса
    Проблему решил следующим образом:

    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, требуется перезапустить программу.
    Ответ написан
    Комментировать