
30.10.2012, 07:03
|
 |
Профессионал
|
|
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
|
|
Цитата:
|
Сообщение от BRESKON
А вот так корректно будет?:
Код:
.....
if DataSet.Locate('Фир_ID', DataSet.FieldByName('НазФирм').AsInteger, []) then
.....
Для получения большего опыта, я создал ещё один Едит, и подключил другие поля.Всё компилируется, но работает коряво, наверное из-за того что я не разобрался с полями.
|
Работает коряво потому что у тебя всё намешано. Сравни как у тебя написано и вот как эта же строка была написана у меня:
Код:
if Table1.Locate('id', DataSet.FieldByName('ПлатДок').AsInteger, []) then
У тебя должно быть 2 таблицы: DataSet - это основная, а Table1 - справочная, для подмены кода на строку в основной таблице.
Цитата:
|
Сообщение от BRESKON
Я уточнить: Получается что ID - что менять, Текст - на что менять? (Убедиться правильно ли я тебя понял). Мне нужно чтоб из поля(Столбца) Фир_ID, бралось данное из тойже строки что данное для Едит1 и менялось на Поле(Столбец) СуммаДок, согласно ID. Т.Е. если в поле Фир_ID данное равно 4 (или 1, или 12 неважно) в Едите2 показывается запись из поля(столбца)СуммаДок, а цыфра ровнялась строке этого поля.
|
Пробуй так:
Код:
if Table1.Locate('ID', DataSet.FieldByName('Фир_ID').AsInteger, []) then
begin
Edit2.Text := Table1.FieldByName('СуммаДок').AsString;
end else
begin
Edit2.Text := '???';
end;
|