| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1835 人关注过本帖, 1 人收藏
标题:请教图表的X坐标标签怎么调用数据库数据?
只看楼主 加入收藏
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:333
专家分:114
注 册:2010-2-17
结帖率:70%
收藏(1)
已结贴  问题点数:20 回复次数:4 
请教图表的X坐标标签怎么调用数据库数据?
我的数据库用的是ACCESS,如下图所示:
图片附件: 游客没有浏览图片的权限,请 登录注册


折线图已可正常显示,如下图:
图片附件: 游客没有浏览图片的权限,请 登录注册


我写的程序如下:
程序代码:
Adodc3.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db.mdb;Persist Security Info=False"
Adodc3.RecordSource = "select * from 表"
Adodc3.Refresh

If Adodc3.Recordset.RecordCount <= 20 Then
ReDim DynArra2(9 To 11, 1 To Adodc3.Recordset.RecordCount)
End If
If Adodc3.Recordset.RecordCount > 20 Then
ReDim DynArra2(9 To 11, Int(Adodc3.Recordset.RecordCount - 20) To Adodc3.Recordset.RecordCount)
End If

For i = Int(Adodc3.Recordset.RecordCount - 20) To Adodc3.Recordset.RecordCount
    Adodc3.Recordset.AbsolutePosition = i
    For k = 9 To 11
        DynArra2(k, i) = Adodc3.Recordset.Fields(k)
    Next k
Next i
MSChart2.Plot.SeriesCollection(1).LegendText = "最大值"
MSChart2.Plot.SeriesCollection(2).LegendText = "最小值"
MSChart2.Plot.SeriesCollection(3).LegendText = "平均值"

MSChart2.ChartData = DynArra2()



现在想请教,图表上的X轴每一列的标签(C1、C2、C3.......)如何调取数据库中时间那一列数据?也就是说X轴每一列的标签是三个数值(最大值、最小值、平均值)生成的时间。
请路过的朋友、高手、版主不吝赐教。谢谢!
搜索更多相关主题的帖子: 图表 Recordset 标签 数据 数据库 
2020-08-21 09:00
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:333
专家分:114
注 册:2010-2-17
收藏
得分:0 
麻烦请路过的朋友、高手、版主不吝赐教。谢谢!
2020-08-22 09:06
jklqwe111
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:35
帖 子:336
专家分:1135
注 册:2014-4-13
收藏
得分:20 
还是不太明白楼主的意思,如果是要取得时间数据,这不应该成为一个问题,从数据库中得到的结果集中每一行都有时间,把它取出就是了,如下面代码。

If Adodc3.Recordset.RecordCount <= 20 Then
ReDim DynArra2(8 To 11, 1 To Adodc3.Recordset.RecordCount)
End If
If Adodc3.Recordset.RecordCount > 20 Then
ReDim DynArra2(8 To 11, Int(Adodc3.Recordset.RecordCount - 20) To Adodc3.Recordset.RecordCount)
End If

For i = Int(Adodc3.Recordset.RecordCount - 20) To Adodc3.Recordset.RecordCount
    Adodc3.Recordset.AbsolutePosition = i
DynArra2(8, i) = Adodc3.Recordset.Fields(2)
    For k = 9 To 11
        DynArra2(k, i) = Adodc3.Recordset.Fields(k)
    Next k
Next i

如果还有其他问题,就要把问题说清楚些。
2020-08-22 09:40
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:333
专家分:114
注 册:2010-2-17
收藏
得分:0 
以下是引用jklqwe111在2020-8-22 09:40:30的发言:

还是不太明白楼主的意思,如果是要取得时间数据,这不应该成为一个问题,从数据库中得到的结果集中每一行都有时间,把它取出就是了,如下面代码。


如果还有其他问题,就要把问题说清楚些。



jklqwe111大侠:
    谢谢您的回复,也许我词不达意,让您困惑,不好意思。我的用意如下图所示,这样表达不知您是否理解?
图片附件: 游客没有浏览图片的权限,请 登录注册
2020-08-22 10:45
jklqwe111
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:35
帖 子:336
专家分:1135
注 册:2014-4-13
收藏
得分:0 

试一下
程序代码:
j=1
For i =Int(Adodc3.Recordset.RecordCount - 20) To Adodc3.Recordset.RecordCount)
Me.MSChart2.Row = j
  MSChart2.RowLabel =DynArra2(8, i)
j=j+1
next
2020-08-22 16:30
快速回复:请教图表的X坐标标签怎么调用数据库数据?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017287 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved