这个有问题:
If e.DataCol.name="虚给产值" ,"实产值_计件" ,"计时产值_计时" ,"总产值" ,"工资" Then
应该:
Select Case e.DataCol.name
Case "数量","单产值","计时产值","虚给产值","负产值","姓名","日期"
If e.DataRow.IsNull("姓名")=False AndAlso e.DataRow.IsNull("日期")=False Then
Dim dr As DataRow = DataTables("工资统计表").Find("日期 = #" & e.DataRow("日期") & "# and 员工姓名 = '" & e.DataRow("姓名") & "'")
If dr Is Nothing Then
Dim dr2 As DataRow = DataTables("工资统计表").AddNew
dr2("计件产值")=e.DataTable.Compute("sum(实产值_计件)","日期 = #" & e.DataRow("日期") & "# and 姓名 = '" & e.DataRow("姓名") & "'")
dr2("计时产值")=e.DataTable.Compute("sum(计时产值)","日期 = #" & e.DataRow("日期") & "# and 姓名 = '" & e.DataRow("姓名") & "'")
dr2("需给产值")=e.DataTable.Compute("sum(虚给产值)","日期 = #" & e.DataRow("日期") & "# and 姓名 = '" & e.DataRow("姓名") & "'")
dr2("员工姓名")=e.DataRow("姓名")
dr2("总产值")=e.DataTable.Compute("sum(总产值)","日期 = #" & e.DataRow("日期") & "# and 姓名 = '" & e.DataRow("姓名") & "'")
dr2("日期")=e.DataRow("日期")
dr2("工资")=e.DataTable.Compute("sum(总产值)","日期 = #" & e.DataRow("日期") & "# and 姓名 = '" & e.DataRow("姓名") & "'")*0.06
Else
dr("计件产值")=e.DataTable.Compute("sum(实产值_计件)","日期 = #" & e.DataRow("日期") & "# and 姓名 = '" & e.DataRow("姓名") & "'")
dr("计时产值")=e.DataTable.Compute("sum(计时产值)","日期 = #" & e.DataRow("日期") & "# and 姓名 = '" & e.DataRow("姓名") & "'")
dr("需给产值")=e.DataTable.Compute("sum(虚给产值)","日期 = #" & e.DataRow("日期") & "# and 姓名 = '" & e.DataRow("姓名") & "'")
dr("总产值")=e.DataTable.Compute("sum(总产值)","日期 = #" & e.DataRow("日期") & "# and 姓名 = '" & e.DataRow("姓名") & "'")
dr("工资")=e.DataTable.Compute("sum(总产值)","日期 = #" & e.DataRow("日期") & "# and 姓名 = '" & e.DataRow("姓名") & "'")*0.06
End If
End If
End Select
Select Case e.DataCol.name
Case "虚给产值" ,"实产值_计件" ,"计时产值_计时" ,"总产值" ,"工资"
Dim dr2 As DataRow = DataTables("员工表").Find("姓名='" & e.DataRow("姓名") & "' And 部门='精品盒'")
If dr2 IsNot Nothing Then
dr2("虚给产值")=e.DataTable.Compute("sum(虚给产值)","姓名='" & e.DataRow("姓名") & "'")
dr2("实产值_计件")=e.DataTable.Compute("sum(实产值_计件)","姓名='" & e.DataRow("姓名") & "'")
dr2("计时产值_计时")=e.DataTable.Compute("sum(计时产值_计时)","姓名='" & e.DataRow("姓名") & "'")
dr2("总产值")=e.DataTable.Compute("sum(总产值)","姓名='" & e.DataRow("姓名") & "'")
dr2("工资")=e.DataTable.Compute("sum(工资)","姓名='" & e.DataRow("姓名") & "'")
End If
End Select
欲速则不达,你还是先看帮助系统学习吧,否则比人给你写的代码,你看都看不明白,意义何在呢?
看帮助一定要按顺序,头一两遍可以不求甚解,第三遍开始要将每个例子实际操作演练一遍,不明白的就上论坛求助。
三遍之后才开始做系统,先设计好表,想做什么功能,就做什么功能,遇到问题在帮助找答案,找不到的在论坛提问,不断遇到问题,不断解决问题,慢慢就熟悉了。
此外一定要先掌握《使用指南》,然后再看《开发指南》
[此贴子已经被作者于2013-8-27 12:10:02编辑过]