If Forms("班组分析").Opened()
Dim t As Table = Tables("班组分析_table1")
t.Fill("SELECT c.Goodsxl as 系列名, c.Gyno as 物供号, c.ZDNO as 制单号, B.MakeGro as 班组, B.Ftyno AS 款号,b.QCType as 不合格原因, Sum(Isnull(b.num,0)) as 返工件数 F ROM Qc_Main A LEFT JOIN QC_ReturnMake B ON A.ID=B.UpID left join pq_main C ON B.Orderno =C.ORDERNO WHERE Isnull(b.num,0) >0 GROUP BY c.Goodsxl,c.Gyno,c.ZDNO,B.MakeGro,B.Ftyno,B.QCTYPE ORDER BY Sum(Isnull(b.num,0))desc " , "鼎邦系统",True)
Dim t2 As Table = Tables("班组分析_table2")
t2.Fill("SELECT gro as 班组,Goods as 类别,gyno as 物供号,Ftyno as 款号,Makeno as 制单号, MakeQty as 制单数, CutQty as 裁剪数, InQty as 入库数,Indate as 日期 F ROM CO_SB_Main where Makeno not like 'T%' and Makeno not like 'H%' and Makeno not like 'M%' " , "鼎邦系统",True)
Dim t3 As Table = Tables("班组分析_table3")
t3.Fill(" SELECT B.Makeno AS 制单号码, A.Name AS 异常物料名称, A.MustNum AS 需求数量, A.OrderNum AS 采购数量, A.BackNUm AS 回料数量, A.OutNum AS 领料数量, A.BuBakNum AS 补料数量, A.JHPrice AS 单价, A.MustNum * A.JHPrice AS 需求金额, A.OrderNum * A.JHPrice AS 采购金额, A.BackNUm * A.JHPrice AS 回料金额, A.OutNum * A.JHPrice AS 领料金额, SUM(ISNULL(A.BuMon, 0)) AS 补料金额 F ROM CO_SB_Main AS B LEFT OUTER JOIN CO_SB_WList AS A ON A.SBID = B.SBID WHERE (A.BuMon > '200') or (A.OutNum * A.JHPrice - A.OrderNum * A.JHPrice > '100') GROUP BY A.Name, A.MustNum, A.JHPrice, A.OrderNum, A.BackNUm, A.OutNum, A.BuBakNum, B.Makeno " , "鼎邦系统",True)
End If
在表2CurrentChanged
Dim Chart As WinForm.Chart '定义一个图表变量
Dim Series As WinForm.ChartSeries '定义一个图系变量
Dim t As Table = Tables("班组分析_table1") '定义一个变量t引用数据表
Dim tB As Table = Tables("班组分析_table3")
With Tables("班组分析_table2")
If .Current Is Nothing Then
t.Filter = "False"
tB.Filter = "False"
Else
t.Filter = "[制单号] = " & .Current("制单号")
tB.Filter = "[制单号码] = " & .Current("制单号")
End If
End With
Dim sm As Integer = t.Compute("Sum(返工件数)") '计算总数量
Chart= Forms("班组分析").Controls("Chart1") ' 引用窗口中的图表
chart.SeriesList.Clear
Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Pie '图表1类型改为Bar(条形)
For Each r As Row In t.Rows
Series = Chart.SeriesList.Add() '增加一个图系
Series.Length = 1 '一个系列只能包括一个值
Series.Text = r("不合格原因") & "(" & r("返工件数") & ")" '设置图系的标题
Series.Y(0) = r("返工件数") '指定值
Series.DataLabelText = Math.Round(r("返工件数")*100/sm,2) & "%" '计算百分比
Next
Chart.LegendVisible = True '显示图列
Chart.LegendCompass= CompassEnum.South '图列显示在东方(右方)
Dim ChartB As WinForm.Chart '定义一个图表变量
Dim SeriesB As WinForm.ChartSeries '定义一个图系变量
ChartB = e.Form.Controls("Chart2") ' 引用窗口中的图表
ChartB.VisualEffect = True '加上这一行,让你的图表更漂亮
ChartB.ChartType = ChartTypeEnum.Bar '图表类型该为Bar(条形)
ChartB.DataSource = "班组分析_table3" '设置绑定表
ChartB.SeriesList.Clear() '清除图表原来的图系
SeriesB = ChartB.SeriesList.Add() '增加第一个图系
SeriesB.Text = "需求数量"
SeriesB.X.DataField = "异常物料名称" 'X轴绑定到产品列
SeriesB.Y.DataField = "需求数量" 'Y轴绑定到数量列
SeriesB = ChartB.SeriesList.Add() '增加第二个图系
SeriesB.Text = "采购数量"
SeriesB.X.DataField = "异常物料名称" 'X轴绑定到产品列
SeriesB.Y.DataField = "采购数量" 'Y轴绑定到数量列
SeriesB = ChartB.SeriesList.Add() '增加第二个图系
SeriesB.Text = "回料数量"
SeriesB.X.DataField = "异常物料名称" 'X轴绑定到产品列
SeriesB.Y.DataField = "回料数量" 'Y轴绑定到数量列
SeriesB = ChartB.SeriesList.Add() '增加第二个图系
SeriesB.Text = "领料数量"
SeriesB.X.DataField = "异常物料名称" 'X轴绑定到产品列
SeriesB.Y.DataField = "领料数量" 'Y轴绑定到数量列
SeriesB = ChartB.SeriesList.Add() '增加第二个图系
SeriesB.Text = "需求金额"
SeriesB.X.DataField = "异常物料名称" 'X轴绑定到产品列
SeriesB.Y.DataField = "需求金额" 'Y轴绑定到数量列
SeriesB = ChartB.SeriesList.Add() '增加第二个图系
SeriesB.Text = "采购金额"
SeriesB.X.DataField = "异常物料名称" 'X轴绑定到产品列
SeriesB.Y.DataField = "采购金额" 'Y轴绑定到数量列
SeriesB = ChartB.SeriesList.Add() '增加第二个图系
SeriesB.Text = "回料金额"
SeriesB.X.DataField = "异常物料名称" 'X轴绑定到产品列
SeriesB.Y.DataField = "回料金额" 'Y轴绑定到数量列
SeriesB = ChartB.SeriesList.Add() '增加第二个图系
SeriesB.Text = "领料金额"
SeriesB.X.DataField = "异常物料名称" 'X轴绑定到产品列
SeriesB.Y.DataField = "领料金额" 'Y轴绑定到数量列
SeriesB = ChartB.SeriesList.Add() '增加第二个图系
SeriesB.Text = "补料金额"
SeriesB.X.DataField = "异常物料名称" 'X轴绑定到产品列
SeriesB.Y.DataField = "补料金额" 'Y轴绑定到数量列
ChartB.LegendVisible = True '显示图列
ChartB.LegendCompass= CompassEnum.South