简单叙述动态公式的工资系统的计算方式
|
问题:
| 简单叙述 Access 动态公式的工资系统的计算方式 |
---|
回答:
|
以下方法显示了最简单的动态公式系统
如果用于实际,你还可以将公式分组,将人员分部门不同组对应不同部门的人员等等。
当然,还涉及到窗体界面编程的内容,也可以通过用代码更改控件的数据源来解决。
| Private __ Sub __ UpdateFormula()
__ __ __ __ 'tbl_pay __ 表用于存放工资资料,有很多类似 __ FLD1 __ FLD2 __ FLD3 __ ... __ 这样的货币型字段
__ __ __ __ 'tbl_formula __ 表用于存放计算公式
__ __ __ __ 'tbl_formula __ 表有几个字段
__ __ __ __ 'FieldName __ 字段用于存放 __ tbl_pay __ 中有的字段名
__ __ __ __ 'formula __ 字段用于存放公式,类似 __ __ FLD1*FLD2+FLD3 __ 这样的公式,前面不要放 __ "=" __ 符号
__ __ __ __ 'CanPrint __ 字段用于标识是否允许打印
__ __ __ __ Dim __ strSql __ As __ String
__ __ __ __ Dim __ Rs __ As __ New __ ADODB.Recordset
__ __ __ __ Dim __ Conn __ As __ New __ ADODB.Connection
__ __ __ __ Set __ Conn __ = __ CurrentProject.Connection
__ __ __ __ Rs.Open __ "select __ * __ from __ tbl_formula __ where __ CanPrint=1 __ order __ by __ ID", __ Conn, __ adOpenDynamic, __ adLockBatchOptimistic
__ __ __ __ Do __ Until __ Rs.EOF
__ __ __ __ __ __ __ __ If __ IsNull(Rs("formula")) __ = __ False __ Then
__ __ __ __ __ __ __ __ __ __ __ __ Conn.Execute __ "update __ tbl_pay __ set __ " __ & __ Rs("FieldName") __ & __ "=" __ & __ Rs("formula")
__ __ __ __ __ __ __ __ End __ If
__ __ __ __ __ __ __ __ Rs.MoveNext
__ __ __ __ Loop
__ __ __ __ Rs.Close
__ __ __ __ Set __ Rs __ = __ Nothing
End __ Sub
http://www.access911.net 站长收藏