Получить значение поля по программно заданному имени поля

отредактировано 22:11 Раздел: FastReport VCL
Добрый день.
Подскажите пожалуйста.
В таблице есть поля Sum01, Sum02, Sum03 ... (их много)
В зависимости от некоторых условий нужно вывести в отчет или Sum01 или Sum02 ...
Хотелось бы что-то типа:
S:='02';
X:=<Dataset."Sum" + S>;
Но так не работает. ((
Как можно реализовать что-нибудь подобное?

Комментарии

  • отредактировано 22:11
    PavelVZ написал: »
    Хотелось бы что-то типа:
    S:='02';
    X:=<Dataset."Sum" + S>;
    var X: integer;
    ...
    X:=StrToInt(<Dataset."Sum">) + StrToInt(S);
  • отредактировано 22:11
    Tikhonenko_VV написал: »
    X:=StrToInt(<Dataset."Sum">) + StrToInt(S);

    Нет, мне нужно в зависимости от условий ОПРЕДЕЛИТЬ ИМЯ ПОЛЯ,
    и получить его значение.

    Т.е. есть поля Sum01, Sum02, Sum03 ...
    Выбрать (СГЕНЕРИРОВАТЬ в зависимости от условий имя поля)
    S:=....
    Имя поля 'Sum' + S
    и получить значение поля по его имени.
  • отредактировано 22:11
    PavelVZ написал: »
    Выбрать (СГЕНЕРИРОВАТЬ в зависимости от условий имя поля)
    Если нужно вывести значение в memo, то можно так:

    S := '02';
    X := '[Dataset."Sum'+S+'"]';
    Memo1.Text := X;
  • gpigpi
    отредактировано March 2018
    S := '02';
    X := Report.Calc('<Dataset."Sum' + S +'">');
    
  • отредактировано 22:11
    написал:
    X := Report.Calc('<Dataset."Sum' + S +'">');
    Да, то что нужно, спасибо!

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.