全部代码:在命令窗口中测试ok!~
Forms("工资统计").open()
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("工号") & "'")
Dim drk As DataRow
drk = DataTables("工资库").Find("月份 = '" & dc.Name & "' And 工号= '" & dr("工号") & "'")
if drk isnot nothing then
Dim T as String
T = "月份 ='" & dc.Name & "' And 工号= '" & dr("工号") & "'"
dr(dc.name) = DataTables("工资库").Find(T)("实发工资")
end if
Next
End If
Next
Dim dst As WinForm.DataList = Forms("工资统计").Controls("DataList1")
dst.DataTable = DataTables("个人分月工资表")
dst.Build()