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