sql - 将图表对象从 Access 2007 更新到 Access 2013 或更高版本时出错
问题描述
我有一个 Access 2010 应用程序,我在其中使用 Chart 对象:
我用来填充此图表的代码如下:
'getRunningAppObject Function
Dim appObj As String
Dim excelObj As Object
appObj = "Excel.Application"
On Error Resume Next
Set excelObj = GetObject(, appObj)
If Not excelObj Is Nothing Then
Set getRunningAppObject = excelObj
Else
Set getRunningAppObject = New Excel.Application
End If
'-------
Set shpGraph = GraphUtil.Object
Set odataSheet = shpGraph.Application.DataSheet
odataSheet.Cells.Clear
Set objxl = getRunningAppObject
Set objWKB = objxl.Workbooks.Add
objWKB.Worksheets().Add.Name = "temp"
Set objsheet = objWKB.Worksheets("temp")
objsheet.Cells(1, 1) = "Week"
objsheet.Cells(2, 1) = "Used"
objsheet.Cells(3, 1) = "Not Used"
objsheet.Cells(4, 1) = "Shortage"
While Not rs.EOF
objsheet.Cells(1, i) = CStr(rs.Fields!week)
objsheet.Cells(2, i) = IIf(IsNull(rs.Fields("used").value), 0, rs.Fields("used").value)
objsheet.Cells(3, i) = IIf(IsNull(rs.Fields("not used").value), 0, rs.Fields("not used").value)
objsheet.Cells(4, i) = IIf(IsNull(rs.Fields("shortage").value), 0, rs.Fields("shortage").value)
i = i + 1
rs.MoveNext
Wend
objsheet.Cells.Select
objsheet.Cells.Copy
odataSheet.Cells(1, 1).Paste
objWKB.Application.CutCopyMode = False
objWKB.Close False
我正在尝试在较新版本中更新此图形对象,因此在 Access 2013 或 2019 中,当我尝试从设计菜单插入图表时,它添加了如下图表:
但是当我尝试使用相同的代码填充此图时,我收到错误: 运行时错误“438”:对象不支持此属性或方法在线 Set shpGraph = GraphUtil.Object
我究竟做错了什么?如何使用 Recordset 填充 Chart 对象?
解决方案
推荐阅读
- c++ - 如何使循环帐户多次出现?
- android - 如何让 StringRequestVolley 等待响应?
- c# - 为什么 ArcGIS Runtime SDK for .Net 同步地理数据库异常抛出“”
- r - 如何将外生输入添加到 nnetTs 函数?
- java - Kafka AVRO消费者端如何丢弃AVRO数据的默认值字段?
- javascript - 如何动态创建属性并为其添加值?
- delphi - 将 PNG 资源加载到 TGPImage
- google-app-engine - 如何在 Java 8 模式下运行 IntelliJ 的 Google App Engine Dev Server 插件
- apache-flink - Apache flink - 阅读后将文件移动到不同的文件夹
- vue.js - vue.js pass function to component as prop