楼主,通过其他实例解决了上面的问题,增加了一个窗口来进行操作,通过窗口添加表格和BUTTON进行操作
button命令如下:
DataTables("基层人员年度绩效汇总审批表").DataRows.Clear()
Dim Lbl As WinForm.Label = e.Form.Controls("Label1")
Lbl.Text = "基层人员年度绩效汇总审批表"
Lbl.ForeColor=Color.red
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
Tables("绩效统计_Table1").DataSource = DataTables("基层人员年度绩效汇总审批表")
Vars("s100") = True
Vars("s1") = False
出现如下提示:
无效的聚合函数 Sum()和类型 String 的用法。
是sum函数错误了吗?绩效等级列设置是字符型