公式---天大的难题(200分)(200分)

  • 主题发起人 主题发起人 tanzhouren
  • 开始时间 开始时间
T

tanzhouren

Unregistered / Unconfirmed
GUEST, unregistred user!
各位:我设计了一个工资管理,可用户要求能自己改变公式,如果建一个表放公式,让用户自己
修改,那怎么在程序中引用和识别用户已改变的公式?最好能给个例子。(delphi5.0+access97)
十万火急。
 
你说得不太清楚,可以自己建个公式形成界面,由用户通过选择来修改公式,转换成语言赋值到
变量
 
你可以自己定义一套语法,让用户来写,然后分析处理一下就可以了。
按照形式文法的规则做一个小解释器
 
以上几位高手所讲,(thank you) 我不大明白。我把自己的意思再讲一下。
我有一表:
编号 公式
1 应发工资=档案工资+加班工资+....
2 代扣所得税=if(应发合计>800,(应发合计-800)*0.05,代扣所得税)
.... .....
程序运行时,用户可以修改此表。在重算个人工资时,程序应自动更正以前的公式。
 
我有一个控件,可以支持8个变量的计算,我用它解决了和你同样的问题

要的话留言
 
有很多书有全部的财务软件代码,你可以去看看,很简单
 
yobdrow,我想要这个控件,EMAIL:hjmking@sohu.com
谢谢!
 
yobdrow,我想要这个控件,EMAIL:tanzhouren@263.net
如果行,分数给您。

谢谢!!!!
 
楼上两位,东西已经发了,我实践可用的,有问题再问
 
yobdrow,我想要这个控件,linzhiqin@hotmail.com
谢谢!
 
yobdrow,我也想要,谢谢!xxhsh@263.net
 
给我也来一份,launch@21cn.com
 
先谢谢yobdrow
不好意思!这几天电脑瘫痪了,下午刚弄出,试了一下您的控件,是在框中输入表达式算出数值。
我很笨,不知怎么和下表联系起来????
如果我有一公式表(access97):
编号 公式
1 应发工资=档案工资+加班工资+....
2 代扣所得税=if(应发合计>800,(应发合计-800)*0.05,代扣所得税)
.... .....
程序运行时,用户可以修改此表。在重算个人工资时,程序应自动更正以前的公式。
应发工资、档案工资、加班工资...都是工资表的字段。
实在不好意思,劳驾给一个例子。
 
我想你的公式中象 '应发工资' '档案工资' '加班工资' '代扣所得税' '应发合计'
'代扣所得税'等都是数据表中的字段,有的值为输入,有的值为其他字段计算。计算
方法一般限于普通四则运算和括弧,一般Sql语句也支持,不如将公式表改为

编号 计算字段 条件 公式
1 应发工资 '' 档案工资+加班工资+....
2 代扣所得税 应发合计>800 (应发合计-800)*0.05

在求计算字段的值时用如下Sql语句
Update 工资表 Set 计算字段 = 公式 Where 条件
可以对所有需计算的字段依次计算,也可生成一条语句完成,视情况而定

 
补充一点:

编号 计算字段 条件 公式
1 应发工资 True 档案工资+加班工资+....
~~
若无条件,可设为 True

2 代扣所得税 应发合计>800 (应发合计-800)*0.05

 
VBSCRIPT不就是干这用的么
 
给我也来一份,zhouqing99@163.net
如果方便的话,请上传到DELPHI开发者资源交流社区http://delphi.itschem.com/
 
后退
顶部