以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  筛选后生成图表的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=61077)

--  作者:bagih
--  发布时间:2014/12/6 16:01:00
--  筛选后生成图表的问题

我在系统菜单里面 先筛选后生成图表,一切正常

执行以下代码后,生成的图表是没有筛选过的。

通过以下代码就出错了,各位老师帮心看一下,哪里不对。谢谢了

Dim Filter As String
With e.Form.Controls("ComboBox4")
    If .Value IsNot Nothing Then
        Filter = "血糖监测_时间段 = \'" & .Value & "\'"
    End If
End With
If Filter > "" Then
    Tables("血糖监测").Filter = Filter
End If



Dim Chart  As WinForm.Chart  \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表


Chart.DataSource = "血糖监测" \'设置绑定表
Chart.SeriesList.Clear() \'清除图表原来的图系
Chart.AxisX.Major = 4 \'主刻度间隔值为5000
Series = Chart.SeriesList.Add() \'增加第一个图系
Series.TooltipText = "{#XVAL}, 血糖值:{#YVAL}"
Chart.AxisX.DateType = True \'X轴是日期型
Chart.AxisX.AnnoFormatString = "MM月dd日" \'设置Y轴的标示格式
Series.Text = "血糖监测_血糖值"
Series.X.DataField = "血糖监测_检测日期" \'X轴绑定到产品列
Series.Y.DataField = "血糖监测_血糖值" \'Y轴绑定到数量列
Chart.AxisX.AnnoRotation = - 45 \'X轴标示逆时针旋转45度
[此贴子已经被作者于2014-12-6 16:10:33编辑过]

--  作者:land089
--  发布时间:2014/12/6 16:07:00
--  
 把你的错误贴出来啊!
--  作者:bagih
--  发布时间:2014/12/6 16:11:00
--  
执行代码后,图表数据是没经过筛选的。
--  作者:land089
--  发布时间:2014/12/6 16:24:00
--  
 试试这个
If Filter <> "" Then
    Tables("血糖监测").Filter = Filter
End If

--  作者:bagih
--  发布时间:2014/12/6 16:38:00
--  
不是这个地方的问题
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20141206163724.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2014/12/7 10:05:00
--  

 不要用绑定的方式,绑定的时候就是针对全部数据的。

 

 请用代码方式生成 http://www.foxtable.com/help/topics/0967.htm

 


--  作者:bagih
--  发布时间:2014/12/8 13:24:00
--  
能再具体指导一下吗,谢谢啦,我自己弄的还是出错。

.NET Framework 版本:2.0.50727.8009
Foxtable 版本:2014.11.11.1
错误所在事件:窗口,化验图表,Button1,Click
详细错误信息:
未将对象引用设置到对象的实例。


Dim Filter As String
With e.Form.Controls("ComboBox4")
    If .Value IsNot Nothing Then
        Filter = "血糖监测_时间段 = \'" & .Value & "\'"
    End If
End With
If Filter > "" Then
    Tables("血糖监测").Filter = Filter
End If



Dim Chart  As WinForm.Chart  \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("血糖监测") \'定义一个变量t引用数据表
Chart = e.Form.Controls("Chart1") \' 引用窗口中的图表
Chart.SeriesList.Clear() \'清除图表原来的图系
Series = Chart.SeriesList.Add() \'增加一个图系
Series.Text = "血糖监测_血糖值"
For i As Integer = 0 To t.Rows.Count - 1 \'指定每个数据点的位置
Series.X(i) = t.Rows(i)("血糖监测_检测日期") \'指定水平坐标
Series.Y(i) = t.Rows(i)("血糖监测_血糖值") \'指定垂直坐标
Next
Chart.AxisX.AnnoRotation = - 45 \'X轴标示逆时针旋转45度

--  作者:有点甜
--  发布时间:2014/12/8 14:22:00
--  
 代码应该是没问题的,请上传一个例子测试。