1,453
社区成员
发帖
与我相关
我的任务
分享Private Sub Form_Load()
Dim cnnlz As New ADODB.Connection
Dim rsnlz As New ADODB.Recordset
Dim rsnlztj As New ADODB.Recordset
cnnlz.Open "provider=microsoft.ace.oledb.12.0;data source=" & App.Path & "\dk.mdb" & ";Jet OLEDB:Database Password="
rsnlz.Open "select distinct 年龄 from 存档 order by 年龄 asc", cnnlz, 1, 3
Dim i1, i2
For i1 = 0 To rsnlz.RecordCount - 1
Label1 = "有数据的年龄" & rsnlz.RecordCount
i2 = IIf(IsNull(rsnlz("年龄")), "", rsnlz("年龄"))
List1.AddItem i2
rsnlz.MoveNext
If rsnlztj.State Then rsnlztj.Close
rsnlztj.Open "select * from 存档 where 年龄 = '" & List1.List(i1) & "'", cnnlz, 1, 3
List2.AddItem rsnlztj.RecordCount
rsnlztj.MoveNext
Next i1
Label2 = "各年龄个数" & List2.ListCount
'=============================因为年龄数不固定,此处无法定义动态的Mydata(i,0),只能固定指定46,有什么办法定义动态个数?
Dim MyData(46, 0) As Double
Dim y As Integer
For y = 0 To List2.ListCount - 1
MyData(y, 0) = List2.List(y)
'============================此处需要加行标,就是加不上,要么索引越界,要么不匹配,注释掉就好用,但没有行标了
'MSChart1.Row = y + 1
MSChart1.RowLabel = List1.List(y)
Next y
With MSChart1
.TitleText = "年龄分布图示"
.Plot.SeriesCollection(1).Pen.Width = 1
.Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid
.Plot.Axis(VtChAxisIdX).ValueScale.Auto = True
.Plot.Axis(VtChAxisIdY).ValueScale.Auto = False
'// 设置最大值
.Plot.Axis(VtChAxisIdX).ValueScale.Maximum = 1
.Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 40
'// 设置最小值
.Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0
.Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 0
'//
.Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 12 'X轴主要网格数量
.Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 10 'Y轴主要网格数量
.Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0 'X轴次要网格数量
.Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0 'Y轴次要网格数量
.Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted
.Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleDotted
End With
MSChart1.Plot.SeriesCollection(1).DataPoints(-1).Brush.FillColor.Set 255, 0, 0 '红色
' MSChart1.Plot.AutoLayout = True
MSChart1.Plot.UniformAxis = False
MSChart1.chartType = 1 '设置图形为线图
MSChart1.ChartData = MyData '数据
End Sub