Вычисление значения формулы в Memo
Добрый день, люди знающие! Подскажите пожалуйста выход из такой ситуации: у меня есть поле Memo, в котором содержится формула примерно следующая [(<Otkos."SUM">+<P_per."P_PER">*('+IntToStr(zp_otkos)+'+('+IntToStr(zp_zadelka)+'*<Shov_2."COUNT">)))*<Otkos2."COUNT">]. В зависимости от значений <P_per."P_PER">, <Shov_2."COUNT"> и <Otkos2."COUNT"> значение формулы, вычисляемое выводимое в итоге в Memo, может быть разным. А эти переменные параметры берутся SQL-запросами из БД. Соответственно, для каждой записи из БД итоговое значение будет разным. Мне нужно просуммировать итоговые значения по N записям из БД. Как мне это можно сделать? Мне представляется вариант с накоплением в глобальную переменную суммы по ходу первого прохода построения отчета. Но как вычислить эту формулу для каждого набора данных?
Или, может, есть другой путь и я зациклился на этом варианте решения и не вижу его?
Подскажите пжлст!
Или, может, есть другой путь и я зациклился на этом варианте решения и не вижу его?
Подскажите пжлст!
Комментарии
А IF THEN Memo.Text :=... ELSE IF THEN Memo.Text :=... ELSE Memo.Text :=... в коде скрипта не подойдет?
Нашел решение проблемы. Пошел совершенно другим путем. Если кому интересно, могу поделиться.
В обработчике события onBeforePrint для страницы написал цикл по всем отсортированным записям, внутри которого высчитывал для каждой итерации (по сути - записи) значение формул, подставляя в них результаты sql-запросов из базы. Таким образом, накапливал в глобальную переменную сумму получаемых значений, которую потом вывел в отдельном мемо.