Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];

Вниз

Расчет по формуле из БД   Найти похожие ветки 

 
Lex_! ©   (2006-09-26 04:29) [0]

Имеется запись:
п1:п2:п3:п4:п5:п6 (поля записи)

п6 имеет значение (п1+п2)/(п3+п4)/100*п6

Каким оброзом можно посчитать все это дело если я показываю значение не в таблице а динамически формирую форму, т.е. посчитать надо еще до заполнения записи ....

Была бы запись заполнена уже по идее можно было бы использовать запрос ... а тут ... даже не знаю ..


 
ЮЮ ©   (2006-09-26 04:37) [1]


> п6 имеет значение (п1+п2)/(п3+п4)/100*п6

Рекурсивеый метод? :)

у DataSet-а есть вычислимые поля (calculated fields) и обработчик OnCalcFields в коде которого и следует вычислять значение поля, основываясь на значениях других полей


 
Lex_! ©   (2006-09-26 05:23) [2]


> ЮЮ ©   (26.09.06 04:37) [1]

Ну то пример был, не совсем обдуманный согласен. ...
(п1+п2)/(п3+п4)/100*п5 .....
Так будет видимо правильнее....

А проблема то как раз в том, что:
1. Идет динамическое формирование формы заполнения, в которой значения полей хранящихся в итоге в таблице заполняются не построково, а в столбец...
т.е. грубо говоря:
  описание формы: Название и ид(таблица 1), Колонки формы (таблица два, например Товар(п1), цена(п2), приход(п3), возврат(п4), итог(п5=п3*п1-п4*п1)), Столбци формы (Таблица 3, например Карты оплаты МТС, Билайн, ЕТК), Данные Форм (Таблица 4, т.е. иды формы и строк, и данные (п1-6))

В общем вроде понятно обьяснил ... вычисляемые поля не катят ... О_о


 
Lex_! ©   (2006-09-26 05:28) [3]

Блин.. я сам запутался... в итоге то по одной строке данные таки в одной записи хранятся....
/me ушол в себя разбираться что к чему таки ...


 
Lex_! ©   (2006-09-26 05:28) [4]

Все равно не понятно КАК вычисляемое поле то сделать ... всмысле перевести из поля формулу в программный код для вычислений... вопрос собстно в этом был ..


 
Lex_! ©   (2006-09-26 07:42) [5]

Мда...
Ладно будем искать ...


 
atruhin ©   (2006-09-26 09:37) [6]

А в чем проблемма написать парсер арифметических выражений? Пишется примерно за 1 день.


 
ЮЮ ©   (2006-09-26 09:41) [7]

>Ладно будем искать ...

"calculated fields"  и "OnCalcFields" ввести в поле ввода Предметного указателя справки по Delphi,
Не пересказывать же здесь всё. Возникнут конкретные вопросы - возвращайся :)


 
Lex_! ©   (2006-09-26 09:56) [8]


> ЮЮ ©   (26.09.06 09:41) [7]
> >Ладно будем искать ...
>
> "calculated fields"  и "OnCalcFields" ввести в поле ввода
> Предметного указателя справки по Delphi,
> Не пересказывать же здесь всё. Возникнут конкретные вопросы
> - возвращайся :)


Так проблема как раз в том - что для вычисления нужно сначала пропарсить это дело ...  т.е. строку с формулой....  ладно поищу что то готовое тогда ... авось ..


 
Сергей М. ©   (2006-09-26 10:09) [9]


> для вычисления нужно сначала пропарсить это дело ...  т.
> е. строку с формулой


Используй любой подходящий скрипт-интерпретатор.
Например, MS Script Control - он всегда под рукой.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.047 c
2-1161450020
90210
2006-10-21 21:00
2006.11.05
inline


15-1160644112
Alien1769
2006-10-12 13:08
2006.11.05
Nokia 6280 vs Nokia 6880 (смартфон)


15-1161131078
SerJaNT
2006-10-18 04:24
2006.11.05
Сравнение 2х цветов


2-1161365018
kcol
2006-10-20 21:23
2006.11.05
функция / процедура


2-1161355880
RomanH
2006-10-20 18:51
2006.11.05
Установка Microsoft SQL Server 2005 на WinXP Prof.SP2





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский