以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于手工编码进行统计(已解决) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=25924) |
||||
-- 作者:yyzlxc -- 发布时间:2012/11/20 10:45:00 -- [求助]关于手工编码进行统计(已解决) 一个案例,要求统计2012年8月份的在册人数及技术等级分布,按照帮助文件的“手工编码进行统计”方法,DataColChanged事件的代码应该如何写,请各位老师指教,谢谢!!
[此贴子已经被作者于2012-11-21 11:33:35编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间:2012/11/20 11:05:00 -- 代码在项目属性那里
|
||||
-- 作者:唐尸三摆手 -- 发布时间:2012/11/20 11:23:00 -- \'///统计表datacolchanged事件 Dim dr As DataRow = e.DataRow |
||||
-- 作者:yyzlxc -- 发布时间:2012/11/20 11:24:00 -- 谢谢lin_hailun老师的回复,但是不是我想要的结果。 要求是统计2012年8月份的在册人数及技术等级分布,要去除月初前离厂和月底后进厂的人数(包括技术等级),可以实现吗,还请lin_hailun老师指教,谢谢!! |
||||
-- 作者:yyzlxc -- 发布时间:2012/11/20 12:13:00 -- 代码修改后,达到预期效果,再次感谢lin_hailun老师的指教。(前提是要将空白的离厂日期填写为当前日期) Select Case MainTable.Name Case "统计" MainTable.DataTable.DataRows.Clear Dim dt As DataTable = DataTables("名册") Dim chejians As List(Of String) = dt.GetUniqueValues("", "车间") For Each chejian As String In chejians Dim r As Row = MainTable.AddNew r("车间") = chejian r("在册人数") = dt.Compute("count(_Identify)", "进厂日期 <= #8/31/2012# And 离厂日期 > #8/1/2012# And 车间 = \'" & chejian & "\'") For i As Integer = 2 To 6 r("技术等级_" & i) = dt.Compute("count(_Identify)", "技术等级 = " & i & " And 车间 = \'" & chejian & "\'And 进厂日期 <= #8/31/2012# And 离厂日期 > #8/1/2012# ") Next Next End Select
[此贴子已经被作者于2012-11-20 13:12:21编辑过]
|
||||
-- 作者:yyzlxc -- 发布时间:2012/11/20 13:09:00 -- 还有一个新问题,能否在此基础上再增加一行合计数,请lin_hailun老师指教,谢谢!! |
||||
-- 作者:lin_hailun -- 发布时间:2012/11/20 16:10:00 -- 以下是引用yyzlxc在2012-11-20 13:09:00的发言:
还有一个新问题,能否在此基础上再增加一行合计数,请lin_hailun老师指教,谢谢!! 如下代码 Select Case MainTable.Name Case "统计" MainTable.DataTable.DataRows.Clear Dim dt As DataTable = DataTables("名册") Dim chejians As List(Of String) = dt.GetUniqueValues("", "车间") For Each chejian As String In chejians Dim r As Row = MainTable.AddNew r("车间") = chejian r("在册人数") = dt.Compute("count(_Identify)", "进厂日期 <= #8/31/2012# And 离厂日期 > #8/1/2012# And 车间 = \'" & chejian & "\'") For i As Integer = 2 To 6 r("技术等级_" & i) = dt.Compute("count(_Identify)", "技术等级 = " & i & " And 车间 = \'" & chejian & "\'And 进厂日期 <= #8/31/2012# And 离厂日期 > #8/1/2012# ") Next Next Dim nr As Row = MainTable.AddNew nr("车间") = "合计" nr("在册人数") = MainTable.Compute("Sum(在册人数)") For i As Integer = 2 To 6 nr("技术等级_" & i) = MainTable.Compute("Sum(" & "技术等级_" & i & ")") Next End Select |
||||
-- 作者:yyzlxc -- 发布时间:2012/11/21 11:33:00 -- 谢谢lin_hailun老师的热情指教,又学了一招,再次衷心感谢!! |