看了一下,应该不复杂吧。
首先,应确定你在界面上以何种方式来显示这些数据。是grid控件还是诸如水晶报表?还是其他表现形式?就这个问题,建议你使用datagrid控件,因为有用户插入或删除某一行或多行的情况。
其次:就数据库原理来讲:你可以把费用分为3类:
     a、工资,数据库中标志为“1”
     b、奖金,数据库中标志为“2”
     c、午餐补贴,数据库中标志为“3”
最后:也就是你的“公式”,我不知道你是否要在数据库的纪录中放入公式定义(或则讲你上面描述的是不是你的数据结构),如果是,建议你不要这样做,因为他的好处只是让数据库(后台)算好小计和合计后让你自动取出。你只需要在界面上显示小计和合计:
    小计= sum(金额) where 标志=“1” +  sum(金额) where 标志=“2”;
    合计 =  sum(金额) where 标志=“1” +  sum(金额) where 标志=“2”+ sum(金额) where 标志=“3”;

解决方案 »

  1.   

    公式定义是要存放在记录中的,用户可以通过它纺织公式,例如(r1+r2)*Rn(Rn)指某一行。您所说的
    a、工资,数据库中标志为“1”
         b、奖金,数据库中标志为“2”
         c、午餐补贴,数据库中标志为“3”
    其实每一行和每一行都是不一样的,如果此表有20行记录可以标为r1-r20,这样就给每一行一个唯一的标识,这里最难求的就是这个"动态表达式",它总是动,必须找到一个规则才好。