如何使用 MS Access VBA 中的数据初始化图表?最终我在这里找到了一个建议,通过一些修改使智能感知满意并产生了以下代码:
Dim objchart As Chart
Dim arrData(3, 1) As Double
arrData(0, 0) = 1
arrData(1, 0) = 1
arrData(2, 0) = 1
arrData(3, 0) = 1
arrData(0, 1) = 1
arrData(1, 1) = 1
arrData(2, 1) = 1
arrData(3, 1) = 1
Set objchart = Me.Chart1
With objchart
.ChartTitle = "test"
.ChartType = acChartLine
.ChartValues = arrData
End With
但这会抛出
编译错误:类型不匹配
在线上
.ChartValues = arrData
我已经尝试将它作为“行优先”(arrData(1, 3))并且也只是传入一个数组(arrData(3))。这些都会导致相同的类型不匹配错误。虽然智能感知告诉我 Chart1 存在,并且 .ChartValues 是一个有效字段,但它并没有告诉我它期待什么样的对象。我在谷歌上对此进行了广泛的搜索,结果是空的。我能找到的最好的参考访问VBA是构建VBA应用程序和这个,但没有进入细节上的图表或ChartObjects。
显然,我想克服这种类型不匹配错误。更好的是,如果有人能给我一些关于如何解决这个问题的一般建议,当与语言参考最接近的事情在您需要的语言部分保持沉默时。
这是一种方法。首先,创建一个新表并添加一些数据:
Private Sub Form_Load()
Dim db As DAO.Database
Dim rec As Recordset
Dim tbl As DAO.TableDef
Set db = CurrentDb
Set tbl = db.CreateTableDef("tbl")
With tbl
.Fields.Append .CreateField("first", dbInteger)
.Fields.Append .CreateField("second", dbInteger)
End With
db.TableDefs.Append tbl
db.TableDefs.Refresh
Set rec = db.OpenRecordset("tbl")
rec.AddNew
rec("first").Value = 0
rec("second").Value = 2
rec.Update
rec.AddNew
rec("first").Value = 1
rec("second").Value = 2
rec.Update
rec.AddNew
rec("first").Value = 2
rec("second").Value = 2
rec.Update
rec.AddNew
rec("first").Value = 3
rec("second").Value = 2
rec.Update
Set rec = Nothing
Set db = Nothing
End Sub
其次,通过引用新表来绘制该数据:
Private Sub command0_click()
Dim objchart As Chart
Set objchart = Me.Chart1
With objchart
.ChartTitle = "tbl: second ~ first"
.RowSource = "tbl"
.ChartAxis = "first"
.ChartValues = "second"
End With
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句