Показать сообщение отдельно
  #20  
Старый 30.10.2012, 18:42
Аватар для BRESKON
BRESKON BRESKON вне форума
Прохожий
 
Регистрация: 12.10.2012
Адрес: г.Саратов
Сообщения: 13
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Сначало данные для уточнения: У мну две таблицы "Платежи" и "Фирмы" Платежи соеденены через 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 выскакивает: Аргументы имеют неверный тип, выходит за пределы допустимого диапазона или вступают в конфликт друг другом.
Ответить с цитированием