症狀
當您嘗試導出在 Microsoft
Office Access 2007, MicrosoftGraph 對象編程您收到以下錯誤消息:
運行時錯誤 1004:
應用程序定義或對象定義錯誤。當您嘗試關閉錯誤消息, 您收到以下錯誤消息:
Chart 對象上操作失敗。
可能未注冊 OLE
服務器。
要注冊 OLE 服務器, 重新安裝它。 收到錯誤消息, 後無法執行下列操作:
•
保存表單
•
在視圖中打開窗體
替代方法
要解決此問題, 使用下列方法之一。
方法 1: 操作屬性設置為 acOLEClose 之後導出對象
1.
啟動 Access 2007年。
2.
Microsoft Office 按鈕 , 依次 打開 。
3.
在 打開 對話框, 選擇與要,
數據庫, 然後單擊 打開 。
4.
在 創建 菜單, 單擊 數據透視圖 。
5.
在 設計 菜單上, 單擊 顯示/隱藏 組中 字段列表 。 這樣可以打開 圖表字段列表 列表。
6.
將 CategoryName 從 圖表字段列表 移動到 除去此處分類字段 。
7.
將 ProductSales 從 圖表字段列表 移動到 除去此處數據字段 。
按類別
注意 圖表顯示產品銷售額的總和。
8.
單擊 Microsoft Office 按鈕 , 然後單擊 關閉 。
9.
另存為 對話框中, 鍵入 frmPivotChart 表單名稱 , 下, 然後單擊 確定 。
10.
創建 菜單, 上單擊 窗體組 , 中 窗體設計 並將 frmPivotChart 從導航窗格移動到設計器。
注意 此過程創建子窗體。
11.
將命令按鈕添加到主窗體, 並將命令按鈕的 Name 屬性設置為 Command 。
12.
在 設計 菜單, Controls 組, 中單擊 按鈕 , 然後單擊 Form 2 設計器以窗體上放置 命令 按鈕。
13.
Command , 右擊, 然後單擊 屬性 。
14.
屬性表 對話框中, 單擊 事件 選項卡, 然後單擊省略號按鈕 () 為 On Click 事件。
15.
選擇生成器 " 對話框中, 選擇 代碼生成器 , 然後單擊 確定 。
16.
在 VisualBasic 編輯器, 用以下代碼替換代碼。
Private Sub Command1_Click() Dim grpApp As Graph.Chart Set grpApp = Me.Graph1.Object grpApp.Export "C:\Graph1.jpg", "JPEG" Set grpApp = Nothing Me.Graph1.Action = acOLEClose End Sub
17.
在 文件 菜單上, 單擊 關閉並返回到 Microsoft Office Access 。
18.
在 保存 對話框中, 單擊 是 。
19.
另存為 對話框中, 鍵入 frmMain 表單名稱 , 下, 然後單擊 確定 。
20.
在 主 菜單, 單擊 VIEws 組, 中 視圖 並單擊 窗體視圖 。
體出現在數據透視圖視圖。
21.
在 frmMain 表單, 單擊 Command 按鈕將透視圖導出到下列文件:
C:\PivotChart1.jpg
22.
在 主 菜單, 單擊 VIEws 組, 中 視圖 並單擊 設計視圖 。
窗體設計視圖中打開。
方法 2: 創建數據透視圖對象而不是圖形對象
對於此方法步驟是作為方法 1, 中除對於步驟 16 步驟相同。
要使用此方法, 請按照步驟 1 到 15 方法 1 中。 在步驟 16, 用以下代碼替換代碼。
Option Compare Database Private Sub Command1_Click() Dim frm As Access.Form Set frm = Me.frmPivotChart.Form frm.ChartSpace.ExportPicture "C:\PivotChart1.jpg", "JPEG" End Sub
然後, 執行步驟 17 到 22 方法 1 中。
狀態
Microsoft 已確認這是 " 適用於 " 一節中列出 Microsoft 產品中存在問題。
更多信息
步驟來重現問題
1.
啟動 Access 2007年。
2.
Microsoft Office 按鈕 , 依次 新建 。
3.
單擊 空白數據庫 , 在 文件名 框中, 鍵入 DatabaseName , 然後單擊 創建 。
4.
在 創建 菜單上, 表 組中單擊 " 表設計 " 然後創建下表:
域名
數據類型
CategoryName
文本
ProductSales
貨幣
5.
Microsoft Office 按鈕 , 依次 保存 。
6.
類型 tabSales 表名稱 中, 框, 然後單擊 " 確定 " 。
注意 當您單擊
確定 , 您可以創建一個主鍵。
7.
視圖 組, 中單擊 數據表 視圖, 並在 CategoryName 和 ProductSales 字段然後鍵入下列值:
CategoryName
ProductSales
飲料
45000
condiments
15000
生成
65000
seafood
33000
8.
在 創建 菜單上, 單擊 窗體設計 窗體 組中。
9.
設計 菜單, 上 控件 組, 中 Chart 控件依次 Form 1 設計器。
10.
在 圖表向導 對話框中, 單擊 下一步 。
注意 Table:tabSales 自動選擇下
哪個表或查詢是否將用於創建圖表 。
11.
在 圖表向導 哪個字段包含要用於圖表數據 , 下選擇 CategoryName 在 " 可用字段 。
12.
單擊 > 以 CategoryName 字段用於圖表 , 下移動, 然後單擊 完成 。
13.
對於 ProductSales 重復步驟 11 和 12。
14.
用鼠標右鍵單擊圖表, 然後單擊 屬性 。
15.
然後單擊 Form 1 設計器 設計 菜單, 上 按鈕 和 控件 組, 中。
16.
單擊 取消 以關閉 命令按鈕向導 。
17.
用鼠標右鍵單擊 Command 控件, 然後單擊 生成事件 。
18.
在 VisualBasic 編輯器, 用以下代碼替換現有代碼。
Option Compare Database Private Sub Command1_Click() Dim grpApp As Graph.Chart Set grpApp = Me.Graph0.Object grpApp.Export "C:\Graph0.jpg", "JPEG" Set grpApp = Nothing End Sub
19.
在 工具 菜單上, 單擊 引用 。
20.
中
引用 - DatabaseName 對話框中, 單擊以選中 Microsoft 12.0 MicrosoftGraph 對象庫 , 然後再單擊 確定 。
21.
在 文件 菜單上, 單擊 關閉並返回到 Microsoft Office Access 。
22.
視圖 組, 中 視圖 , 依次 窗體視圖 。
23.
在 Form 1 , 單擊 Command 。
注意 出現該問題是 " 症狀 " 部分中討論。