以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  双图表  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=121493)

--  作者:yetle
--  发布时间:2018/7/7 14:41:00
--  双图表
表1有数据列:班组和数量
表2有数据列:班组和计划产量
现需要将表2的几乎产量和实际的数量并排在chart1显示,下面代码怎么改?

Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表
Chart.VisualEffect = True \'加上这一行,让你的图表更漂亮
Chart.ChartType = ChartTypeEnum.Bar \'图表类型该为Bar(条形)
Chart.DataSource = "表1" \'设置绑定表
Chart.SeriesList.Clear() \'清除图表原来的图系
Series = Chart.SeriesList.Add() \'增加第一个图系
Series.Text = "数量"
Series.X.DataField = "班组" \'X轴绑定到产品列
Series.Y.DataField = "数量" \'Y轴绑定到数量列
\' Series = Chart.SeriesList.Add() \'增加第二个图系
\' Series.Text = "金额"
\' Series.X.DataField = "产品" \'X轴绑定到产品列
\' Series.Y.DataField = "金额" \'Y轴绑定到数量列
Chart.LegendVisible = True \'显示图列
Chart.LegendCompass= CompassEnum.South \'图列显示在南方

--  作者:有点蓝
--  发布时间:2018/7/7 15:32:00
--  
1、把2个表的数据合并到一个查询表,然后绑定查询表

2、不要绑定表,直接使用代码赋值

--  作者:yetle
--  发布时间:2018/7/7 16:27:00
--  
Tables("日产量分析_Table3").Fill("Select [A.班组],[A.数量],[B.计划产量] F rom {日产量分析_table2} A left join {班组月计划产量} B on [A.班组]=[B.班组] where [B.年]=year(Date.Today) and [B.月]=Month(Date.Today) order by [A.班组]",True)

这个语法是不是错的,有报错:提示请检查语法或数据源

--  作者:有点蓝
--  发布时间:2018/7/7 16:40:00
--  
 where [B.年]=year(Date()) and [B.月]=Month(Date()) 


--  作者:yetle
--  发布时间:2018/7/7 17:37:00
--  
不是这里的原因,改了报错依旧,更何况我上面这么写都可以的
e.Form.Controls("TextBox1").text=year(Date.Today)
e.Form.Controls("TextBox2").text=Month(Date.Today)
 Dim tB As Table = Tables("日产量分析_table2")
If Forms("日产量分析").Opened()
 tB.Fill(" select A.MakeGro as 班组, Sum( isnull(C.Qty,0)) as 数量  f rom PQ_Convert_Main d left join PQ_Convert_List C ON d.ID=C.UpID left join  PQ_Main A  on c.Orderno=a.OrderNo   left join bai_ftyno E ON a.ftyno=e.ftyno   where ArtGD=\'车间转QC\' and  DATEPART(year,d.Workdate)=(select year(GETDATE()))  and DATEPART(month,d.Workdate)=(select MONTH(GETDATE()) )  and A.MakeGro is not null   group by  A.MakeGro order by A.MakeGro " , "鼎邦系统",True)

End If

--  作者:有点蓝
--  发布时间:2018/7/9 8:47:00
--  
sqlserver?改为GETDATE

where [B.年]=year(GETDATE()) and [B.月]=Month(GETDATE()) 

--  作者:有点甜
--  发布时间:2018/7/9 9:04:00
--  

如果sql语句报错,请拷贝到sql测试窗口测试语句是否正确

 

http://www.foxtable.com/webhelp/scr/1484.htm

 


--  作者:yetle
--  发布时间:2018/7/9 9:38:00
--  
fill进来的表在sql做不了测试
--  作者:yetle
--  发布时间:2018/7/9 9:39:00
--  
sqlserver改为GETDATE

where [B.年]=year(GETDATE()) and [B.月]=Month(GETDATE()) 

也不行,提示错误一样

我把where [B.年]=year(GETDATE()) and [B.月]=Month(GETDATE())这句删掉,也是一样错误
[此贴子已经被作者于2018/7/9 9:40:48编辑过]

--  作者:有点甜
--  发布时间:2018/7/9 14:09:00
--  
以下是引用yetle在2018/7/9 9:38:00的发言:
fill进来的表在sql做不了测试

 

单独拷贝sql语句出来,或者弹出sql语句拷贝出来,放过去测试,看报什么错。