以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求和计算使用求助 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=189462) |
||||
-- 作者:ntcsm -- 发布时间:2023/12/3 14:38:00 -- 求和计算使用求助 想整一张表A ,简单计算 姓名 工时 部门奖金 张三 10 20 李四 20 40 部门 30 60 思路:部门行工时为部门内人员的总工时,并且总工时等于部门员工个人工时之和,部门奖金为批发奖金额 姓名行工时为部门内部员工个人工时,部门奖金为个人工时除以部门总工时再乘以部门奖金,即奖金按工时平均发放 我是应用小白,对照书本《开发宝典》,没能搞清楚,请问如何实现? 谢谢
|
||||
-- 作者:有点蓝 -- 发布时间:2023/12/3 20:26:00 -- 请上传实例说明。并给出正确结果做参考 |
||||
-- 作者:ntcsm -- 发布时间:2023/12/4 15:08:00 -- 谢谢
|
||||
-- 作者:有点蓝 -- 发布时间:2023/12/4 15:13:00 -- 还是没搞懂,这种例子无法反应和处理您说的问题。 如果只是简单的数据合计,做个合计就行了:http://www.foxtable.com/webhelp/topics/2748.htm
|
||||
-- 作者:ntcsm -- 发布时间:2023/12/4 17:25:00 -- 我是要实现姓名行输入部门内人员姓名,工时,而在部门行自动生成部门总工时 在部门行奖金单元,输入批复奖金额后,又能在部门人员行按工时平均自动生成奖金,每个人每小时奖金额都相同
就相当于一张电子表格 [此贴子已经被作者于2023/12/4 17:25:03编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2023/12/4 17:33:00 -- 这个表格设计不合理。应该增加一个部门列,记录哪个人员是哪个部门的。然后需要的时候做个分组统计即可:http://www.foxtable.com/webhelp/topics/0158.htm |
||||
-- 作者:ntcsm -- 发布时间:2023/12/4 19:42:00 -- 我是要一个部门奖金按工时发放表 |
||||
-- 作者:有点蓝 -- 发布时间:2023/12/4 20:36:00 -- 没有理解您的业务,不知道到底需要什么。 |
||||
-- 作者:y2287958 -- 发布时间:2023/12/5 9:24:00 -- If e.DataCol.Name = "工时" Then If e.DataRow("姓名") <> "部门" Then Dim dr As DataRow = e.DataTable.Find("姓名=\'部门\'") If dr IsNot Nothing Then dr("工时") = e.DataTable.Compute ("Sum(工时)", "姓名<>\'部门\' and 姓名 is not null") End If End If End If If e.DataCol.Name = "奖金" AndAlso e.DataRow("姓名") = "部门" Then Dim dr As DataRow = e.DataTable.Find("姓名=\'部门\'") If dr.IsNull ("奖金") = False AndAlso dr.IsNull ("工时") = False Then Dim 工时奖金 As Decimal = dr("奖金") / dr("工时") For Each sdr As DataRow In e.DataTable.Select ("姓名<>\'部门\' and 姓名 is not null") sdr("奖金") = sdr("工时") * 工时奖金 Next End If End If |
||||
-- 作者:ntcsm -- 发布时间:2023/12/5 15:08:00 -- 谢谢 将此作为工作表用,好多了,省的表格很多
[此贴子已经被作者于2023/12/5 15:24:31编辑过]
|