Dim g As New CrossTableBuilder("统计表25",DataTables("十监区管理"))
g.HGroups.AddDef("日期",DateGroupEnum.None)
g.HGroups.AddDef("部门")
g.HGroups.AddDef("报表名称")
g.HGroups.AddDef("组别")
g.HGroups.AddDef("管组民警")
g.HGroups.AddDef("模具规格")
g.HGroups.AddDef("统计类型")
g.VGroups.AddDef("项目")
g.VGroups.AddDef("数据统计项目")
g.Totals.AddDef("数值", "数值")
g.FromServer =True
g.Filter = "日期 >= '" & s_date & "' And 日期 <= '" & e_date & "' And 部门='" & Vars("部门") & "'And 组别 ='" & Vars("管组") & "'"
g.Build()
If DataTables("统计表25").datarows.Count>0 Then
DataTables("统计表25").DataCols.Add("机加工_废品率", Gettype(Double),"机加工_废品率")
Dim 成品入库_计划完成率 As String '产量的废品
Dim 成品入库_计划箱数 As String '产量的合格品
Dim 成品入库_入库箱数 As String '成品的计划
Dim 成品入库_重量 As String '造型的件数 废品率
Dim 机加工_废品 As String '造型件数 废品
Dim 机加工_合格品 As String '造型件数 废品
Dim 机加工_计划 As String '造型箱数 计划1
Dim 机加工_计划完成率 As String '造型箱数 完成
Dim 机加工_重量 As String '造型箱数
Dim 涂装线_重量 As String '造型箱数
For Each cl As Col In Tables("统计表25").cols
Select Case cl.Caption
Case "成品入库_计划完成率"
成品入库_计划完成率 =cl.Name
Case "成品入库_计划箱数"
成品入库_计划箱数 =cl.Name
Case "成品入库_入库箱数"
成品入库_入库箱数 =cl.Name
Case "成品入库_重量"
成品入库_重量 =cl.Name
Case "机加工_废品"
机加工_废品 =cl.Name
Case "机加工_合格品"
机加工_合格品 =cl.Name
Case "机加工_计划"
机加工_计划 =cl.Name
Case "机加工_计划完成率"
机加工_计划完成率 =cl.Name
Case "机加工_重量"
机加工_重量 =cl.Name
Case "涂装线_重量"
涂装线_重量 =cl.Name
End Select
Next
DataTables("统计表25").DataCols(成品入库_计划完成率).Expression = "((" & 成品入库_入库箱数 & "/" & 成品入库_计划箱数 & ")) *100"
DataTables("统计表25").DataCols("机加工_废品率").Expression = "(" & 机加工_废品 & "/" & "(IsNull([" & 机加工_合格品 & "],0)" & "+" & "IsNull([" & 机加工_合格品 & "],0)))*100"
DataTables("统计表25").DataCols(机加工_计划完成率).Expression ="(((IsNull([" & 机加工_合格品 & "],0)" & "+" & "IsNull([" & 机加工_废品 & "],0)))" & "/" & 机加工_计划 & ") *100"
End If
这个代码 红字部分提示 表达式循环引用.
[此贴子已经被作者于2013-11-1 22:14:42编辑过]