以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求教 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=1736) |
||||
-- 作者:hejfen -- 发布时间:2009/2/5 9:25:00 -- 求教 在表“考核表”中填入“月份”、“姓名”,自动填入“正常工作日_小时“等的统计数据,请问代码如何写?是易表中用刷新公式:SumFor("加班人员表","合计加班天数","实际加班人员姓名","=",[姓名],"加班类型","=","正常工作日","单位"," = ","小时","月份"," = ",[月份])就行了。
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/2/5 10:22:00 -- 例如: Dim dr As DataRow = e.DataRow Dim dt As DataTable =DataTables("加班人员表") If e.DataCol.Name = "月份" OrElse e.DataCol.Name = "姓名" Then If e.DataRow.IsNull("月份") OrElse e.DataRow.IsNull("姓名") Then e.DataRow("正常工作日加班_小时") = Nothing \'...清空其他计算字段 Else e.DataRow("正常工作日加班_小时") = dt.Compute("Sum(合计加班时间)","[月份] = \'" & dr("月份") & "\' And [实际加班人员姓名] = \'" & dr("姓名") & "\'") \'...计算其他字段 End if End If |
||||
-- 作者:smileboy -- 发布时间:2009/2/5 10:23:00 -- Dim dr As DataRow = e.DataRow Dim dt As DataTable =DataTables("加班人员表") If e.DataCol.Name = "月份" OrElse e.DataCol.Name = "姓名" if e.DataRow.IsNull("月份") OrElse e.DataRow.IsNull("姓名") Then e.DataRow("正常工作日加班_小时") = Nothing Else e.DataRow("正常工作日加班_小时") = dt.Compute("Sum(合计加班时间)","[月份] = \'" & dr("月份") & "\' And [实际加班人员姓名] = \'" & dr("姓名") & "\'") End If End If |
||||
-- 作者:hejfen -- 发布时间:2009/2/5 12:03:00 -- 还有二个个条件,是加班人员表的“加班类型”=“正常工作日”、“单位”=“小时” |
||||
-- 作者:smileboy -- 发布时间:2009/2/5 12:05:00 -- 自己加上吧 |
||||
-- 作者:程兴刚 -- 发布时间:2009/2/5 12:08:00 -- Dim dr As DataRow = e.DataRow Dim dt As DataTable =DataTables("加班人员表") If e.DataCol.Name = "月份" OrElse e.DataCol.Name = "姓名" if e.DataRow.IsNull("月份") OrElse e.DataRow.IsNull("姓名") Then e.DataRow("正常工作日加班_小时") = Nothing Else e.DataRow("正常工作日加班_小时") = dt.Compute("Sum(合计加班时间)","[月份] = \'" & dr("月份") & "\' And [实际加班人员姓名] = \'" & dr("姓名") & "\' And [加班类型] = \'" & dr("正常工作日") & "\' And [单位] = \'" & dr("小时") &"\'") End If End If 不知是否正确,没有测试! |
||||
-- 作者:hejfen -- 发布时间:2009/2/5 14:56:00 -- 出错,因为该表没有“加班类型”列和“单位”列 |
||||
-- 作者:程兴刚 -- 发布时间:2009/2/5 15:09:00 -- 以下是引用hejfen在2009-2-5 14:56:00的发言:
出错,因为该表没有“加班类型”列和“单位”列
|
||||
-- 作者:hejfen -- 发布时间:2009/2/5 15:37:00 -- And [加班类型]
= \'" & dr("正常工作日") & "\' And [单位] = \'" & dr("小时") &"\'") 就是这里搞不懂啊, |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/2/5 15:42:00 -- 呵呵,磨刀不砍柴工,你不应该现在就急于设计项目,而是需要在反复看几次帮助,特别是关于动态合成表达式的。 e.DataRow("正常工作日加班_小时") = dt.Compute("Sum(合计加班时间)","[月份] = \'" & dr("月份") & "\' And [实际加班人员姓名] = \'" & dr("姓名") & "\' And [加班类型] = \'正常工作日\' And [单位] = \'小时\'" |