以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  【求助】如何用sql直接生成图表!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=142829)

--  作者:chen_sheng
--  发布时间:2019/11/7 10:33:00
--  【求助】如何用sql直接生成图表!
如何用sql 直接生成图表

\'用SQL语句生成临时表
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "S elect * From [KB_今日计划明细] where 工序编号= \'2--04\' And  DateDiff(dd,工序计划结束期,getdate()) < 8 "
dt = cmd.ExecuteReader()
\'对临时进行分组统计
Dim b As New CrossTableBuilder("周任务趋势图",dt)
b.HGroups.AddDef("工序计划结束期")
\'b.VGroups.AddDef("日期","{0}月")
b.Totals.AddDef("数量") 
b.HorizontalTotal = True
b.VerticalTotal = True
b.Subtotal = True \'生成汇总模式
b.Build() \'生成统计表

Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table =Tables("周任务趋势图")\'定义一个变量t引用数据表
\'Dim t As Table = Tables("周任务趋势图")\'定义一个变量t引用数据表
\'Chart= Forms("窗口1").Controls("Chart1")\' 引用窗口中的图表
Chart=e.Form.Controls("Chart1")
Chart.ChartType = ChartTypeEnum.Bar \'图表类型该为Bar(条形)
\'Chart.DataSource ="周任务趋势图统计" \'设置绑定表
Chart.SeriesList.Clear() \'清除图表原来的图系
Chart.AxisY.Major = 5 \'主刻度间隔值为5000
Series = Chart.SeriesList.Add() \'增加一个图系
Series.X.DataField ="工序计划结束期" \'X轴绑定到产品列
Series.Y.DataField ="数量" \'Y轴绑定到数量列
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方(底端)


或者  "S elect  工序计划结束期,sum(数量) From [KB_今日计划明细] where 工序编号= \'2--04\' And  DateDiff(dd,工序计划结束期,getdate()) < 8  group by 工序计划结束期"

[此贴子已经被作者于2019/11/7 10:50:00编辑过]

--  作者:有点蓝
--  发布时间:2019/11/7 11:43:00
--  
不能使用绑定,遍历处理
--  作者:chen_sheng
--  发布时间:2019/11/7 13:40:00
--  
能否提供一下类似于下面动态加载的实例参考一下

Tables("周任务趋势图").Fill ("S elect 工序计划结束期,sum([数量]) From [KB_今日计划明细] where 工序编号= \'" & kbgxbh & "\' And  DateDiff(dd,工序计划结束期,getdate())=0 group by 工序计划结束期","zzkb",True)       \'从数据库取数

[此贴子已经被作者于2019/11/7 13:40:51编辑过]

--  作者:有点蓝
--  发布时间:2019/11/7 14:17:00
--  
就一条sql的问题,要啥实例?http://www.foxtable.com/webhelp/topics/1777.htm

不如详细说明具体有什么问题