Объявите метод HandleProductSelection
в вашей форме (или модуле данных):
procedure HandleProductSelection(Sender: TField);
Присоедините обработчик AfterOpen
к таблице заказов. В этом обработчике найдите поле Код продукта и присоедините метод HandleProductSelection к событию OnChange этого поля.
procedure TForm1.OrderTableAfterOpen(DataSet: TDataSet);
var
Field: TField;
begin
Field := OrderTable.FindField('PCode');
Field.OnChange := HandleProductSelection;
end;
Это гарантирует, что при каждом открытии таблицы OrderTable обработчик событий будет присоединен к соответствующему полю, а это, в свою очередь, гарантирует, что метод HandleProductSelection будет вызываться при каждом изменении содержимого поля Product Code.
Реализация метода HandleProductSelection. Если вы определили поле поиска для кода продукта с помощью редактора полей, в вашей форме (или в модуле данных) есть набор данных Product. Набор данных с информацией о продукте будет затем размещен в соответствии со значением поля Код продукта в текущей записи таблицы заказов.
Вы можете воспользоваться этим в своем методе HandleProductSelection, просто перенеся информацию из набора данных Product в таблицу OrderTable:
procedure TForm1.HandleProductSelection(Sender: TField);
begin
OrderTable.FieldByName('PPrice').AsCurrency :=
DataSetProduct.FieldByName('PPrice').AsCurrency;
end;