Tables("销售往期计划_Table2").SetColVisibleWidth("产品代码|76|产品名称|215|规格型号|85|预测数量|58|计划比率|58|销售数量|58|完成比率|58|销售占比|58")
Tables("销售往期计划_Table2").AllowEdit = False
Tables("销售往期计划_Table2").Filter = "[预测数量] > 0 Or [销售数量] > 0 "
Dim Sum As Double = Tables("销售往期计划_Table2").Compute("Sum(预测数量)")
Dim Sum1 As Double = Tables("销售往期计划_Table2").Compute("Sum(销售数量)")
For Each drs As Row In Tables("销售往期计划_Table2").Rows
If drs("产品代码") = "12.01.001-2" And drs("预测数量") > 0 Then
For Each drs1 As Row In Tables("销售往期计划_Table2").Rows
If drs1("产品代码") = "12.01.001-1" And drs1("销售数量") > 0 Then
drs("预测数量") = drs("预测数量") - drs1("销售数量")
drs1("预测数量") = drs1("销售数量")
drs1("fzm") = 1
End If
Next
ElseIf drs("产品代码") = "12.01.002-2" And drs("预测数量") > 0 Then
For Each drs1 As Row In Tables("销售往期计划_Table2").Rows
If drs1("产品代码") = "12.01.002-1" And drs1("销售数量") > 0 Then
drs("预测数量") = drs("预测数量") - drs1("销售数量")
drs1("预测数量") = drs1("销售数量")
drs1("fzm") = 1
End If
Next
ElseIf drs("产品代码") = "12.01.003-2" And drs("预测数量") > 0 Then
For Each drs1 As Row In Tables("销售往期计划_Table2").Rows
If drs1("产品代码") = "12.01.003-1" And drs1("销售数量") > 0 Then
drs("预测数量") = drs("预测数量") - drs1("销售数量")
drs1("预测数量") = drs1("销售数量")
drs1("fzm") = 1
End If
Next
ElseIf drs("产品代码") = "12.01.004-2" And drs("预测数量") > 0 Then
For Each drs1 As Row In Tables("销售往期计划_Table2").Rows
If drs1("产品代码") = "12.01.004-1" And drs1("销售数量") > 0 Then
drs("预测数量") = drs("预测数量") - drs1("销售数量")
drs1("预测数量") = drs1("销售数量")
drs1("fzm") = 1
End If
Next
ElseIf drs("产品代码") = "12.01.005-2" And drs("预测数量") > 0 Then
For Each drs1 As Row In Tables("销售往期计划_Table2").Rows
If drs1("产品代码") = "12.01.005-1" And drs1("销售数量") > 0 Then
drs("预测数量") = drs("预测数量") - drs1("销售数量")
drs1("预测数量") = drs1("销售数量")
drs1("fzm") = 1
End If
Next
ElseIf drs("产品代码") = "12.01.006-2" And drs("预测数量") > 0 Then
For Each drs1 As Row In Tables("销售往期计划_Table2").Rows
If drs1("产品代码") = "12.01.006-1" And drs1("销售数量") > 0 Then
drs("预测数量") = drs("预测数量") - drs1("销售数量")
drs1("预测数量") = drs1("销售数量")
drs1("fzm") = 1
End If
Next
End If
Next
For Each dr As Row In Tables("销售往期计划_Table2").Rows
If dr("预测数量") > 0 Then
dr("计划比率") = dr("预测数量") / Sum
End If
Next
For Each dr1 As Row In Tables("销售往期计划_Table2").Rows
If dr1("销售数量") > 0 Then
dr1("销售占比") = dr1("销售数量") / Sum1
End If
Next
For Each dr2 As Row In Tables("销售往期计划_Table2").Rows
If dr2("销售数量") > 0 And dr2("预测数量") > 0 Then
dr2("完成比率") = dr2("销售数量") / Sum
End If
Next
Dim t As Table = Tables("销售往期计划_Table2")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "fzm"
g.TotalOn = "预测数量,销售数量,计划比率,完成比率,销售占比"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)
g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*" '注意总计分组用符号*表示.
g.TotalOn = "预测数量,销售数量,计划比率,完成比率,销售占比"
g.Caption = "总计"
t.SubtotalGroups.Add(g)
t.Subtotal() '生成汇总模式
Dim ddr As Row = Tables("销售往期计划_Table2").Rows(Tables("销售往期计划_Table2").count(True) -1, True)
Dim dds,dds1,dds2 As Double
dds = Tables("销售往期计划_Table2").Compute("Sum(计划比率)", "计划比率 <= 完成比率")
dds1 = Tables("销售往期计划_Table2").Compute("Sum(完成比率)", "完成比率 >= 计划比率")
dds2 = dds1 - dds
ddr("完成比率") = ddr("完成比率") - dds2
Dim r As Integer = Forms("计划导航").Controls("TextBox12").Value
Dim r1 As Integer = Forms("计划导航").Controls("TextBox13").Value
e.Form.Controls("TextBox1").Select()
With e.Form.Controls("TextBox1")
If .Value = "" Then
.Value = r
End If
End With
e.Form.Controls("TextBox2").Select()
With e.Form.Controls("TextBox2")
If .Value = "" Then
.Value = r1
End If
End With
e.Form.Controls("Button1").Select()
[此贴子已经被作者于2012-3-8 15:57:13编辑过]