Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.05;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.046 c
15-1160746232
MikePetrichenko
2006-10-13 17:30
2006.11.05
Задачка


1-1159008685
DelphiLamer
2006-09-23 14:51
2006.11.05
Как получить список всех процедур в библиотеке?


1-1159148047
Lex_!
2006-09-25 05:34
2006.11.05
Перненос данных в Excel шаблон.


2-1161405365
Riply
2006-10-21 08:36
2006.11.05
Видимость св-ва для GetTypeData


2-1161456604
simona4
2006-10-21 22:50
2006.11.05
база глючит на других компах





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский