Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
各位大家好小弟现在有个问题需要大家帮忙啊,
我做了一个工资管理系统,已经到结尾了,现在的问题是,我最后想做个人分月统计,部门分月统计,两个表
其中个人分月统计和部门分月统计是根据工资考勤数据库的内容在年底的时候进行统计。(其中工资考勤库为狐表内数据表。)
我已经做了狐表的数据表个人分月统计和部门分月统计,并在打印窗口中设置了两个按钮,分别是个人分月统计和部门分月统计,(此时,我只是想统计出来就可以,不需要打印)并在相应的clink中设置了代码。我是个初学者自己写的代码,可是写完后总是报错不知道为什么,请各位帮我研究研究好吗,不知道我说的明白不明白,如果不明白请提问,帮帮忙吧。
我的窗口都是在对外工资表中做的
工资库中增加一列"月份",字符型,并在此表的DataColChanged事件中加如下代码
Dim dr As DataRow =e.DataRow
If e.DataCol.Name ="日期" Then
If dr.IsNull("日期") = False Then
dr("月份") = MonthName(dr("日期").Month)
Else
dr("月份") = Nothing
End If
End If
部门统计按钮代码:
DataTables("部门分月统计").DataRows.Clear()
Dim f As New Filler
f.SourceTable = DataTables("工资考勤数据库") '指定数据来源
f.SourceCols = "部门" '指定数据来源列
f.DataTable = DataTables("部门分月统计") '指定数据接收表
f.DataCols = "部门" '指定数据接收列
f.Fill() '填充数据
For Each dc As DataCol In DataTables("部门分月统计").DataCols
If dc.Name.EndsWith("月") Then
For Each dr As DataRow In DataTables("部门分月统计").DataRows
dr(dc.name) = DataTables("工资考勤数据库").Compute("Sum(实发工资)","月份 ='" & dc.Name & "' And 部门 = '" & dr("部门") & "'")
Next
End If
Next
个人统计代码:
DataTables("个人分月统计").DataRows.Clear()
Dim f As New Filler
f.SourceTable = DataTables("工资考勤数据库") '指定数据来源
f.SourceCols = "工号,姓名" '指定数据来源列
f.DataTable = DataTables("个人分月统计") '指定数据接收表
f.DataCols = "工号,姓名" '指定数据接收列
f.Fill() '填充数据
For Each dc As DataCol In DataTables("个人分月统计").DataCols
If dc.Name.EndsWith("月") Then
For Each dr As DataRow In DataTables("个人分月统计").DataRows
dr(dc.name) = DataTables("工资考勤数据库").Compute("Sum(实发工资)","月份 ='" & dc.Name & "' And 工号= '" & dr("工号") & "'")
Next
End If
Next
建议你还是加个工号列,并以工号做为唯一标识,以工号做为关联列,万一你以后单位出现同名同姓的员工呢?以现在姓名列做标识,就会出错
好的,我先谢谢你啊,我去试试代码,有问题的话还得再帮忙啊
谢谢啊,可以了,真是太牛了,佩服啊
谢谢啊,可以了,真是太牛了,佩服啊
我们是同行,正好我原来也做过类似的统计表,所以直接拿来用了,呵,互相学习,共同进步!
是的,呵,但是各单位有各单位的要求,比如,我单位这张表中还有其它列,比如单项奖,年终奖,这些都是到年底才会有数据的,而且又是从其它的表中引用过来的,所以就要求有一个表存在,呵