Сначало данные для уточнения: У мну две таблицы "Платежи" и "Фирмы" Платежи соеденены через ADOTable1, а Фирмы через ADOTable2. В Платежах один столбец (гипотетически) Фир_ID, в Фирмах тоже один столбец Firm. Другими словами берётся данная из поля Фир_ID, меняется на данную из Firm (цыфра в Фир_ID равняется строке в поле Firm) и отображается в Edite2.
Цитата:
Сообщение от poli-smen
Пробуй так:
Код:
if Table1.Locate('ID', DataSet.FieldByName('Фир_ID').AsInteger, []) then
begin
Edit2.Text := Table1.FieldByName('СуммаДок').AsString;
end else
begin
Edit2.Text := '???';
end;
|
У меня получилось так:
Код:
if ADOTable2.Locate('Firm', DataSet.FieldByName('Фир_ID').AsString, []) then
begin
Edit2.Text := ADOTable2.FieldByName('Firm').AsString;
end else
begin
Edit2.Text := '???';
end;
end;
в Эдите2 отображаются ??? Может это из-за Русского текста в поле Firm?
А если записать так:
Код:
if DataSet.Locate('Фир_ID', ADOTable2.FieldByName('Firm').AsString, []) then
begin
Edit2.Text := DataSet.FieldByName('Фир_ID').AsString;
end else
begin
Edit2.Text := '???';
end;
Помимо ??? в Эдите2 выскакивает: Аргументы имеют неверный тип, выходит за пределы допустимого диапазона или вступают в конфликт друг другом.