2016-01-08 28 views
1

我需要一個連接到Oracle數據庫的Word宏,它獲取一些信息並將其放入我的Document中。Word宏:Oracle數據庫連接

第一步是連接到數據庫。我發現下面的代碼放在http://dbaforums.org/oracle/index.php?showtopic=2071

'-------------------------------------- 
' create and open connection 
'-------------------------------------- 
Dim oCn As New ADODB.Connection 
oCn.Open "Driver={Microsoft ODBC for Oracle};" & _ 
"Server=myserver;" & _ 
"Uid=gh_pc;" & _ 
"Pwd=gh_pc" 

'--------------------------------------- 
' open recordset 
'--------------------------------------- 
Dim oRs As New ADODB.Recordset 
Set oRs = oCn.Execute("SELECT * FROM pc_ficha_clinica") 
While Not oRs.EOF 
Debug.Print oRs.Fields(0).Value 
oRs.MoveNext 
Wend 
'--------------------------------------- 
' cleanup 
'--------------------------------------- 
oCn.Close 
Set oRs = Nothing 
Set oCn = Nothing 

這是行不通的,因爲它缺少的參考ADOB.Connection。出現以下錯誤(對我來說它是德語,我在這裏翻譯它)。

The User defined Type is not declared

我需要知道如何引用這個或怎麼回事連接到數據庫。如果無法使用Word Makco連接到Oracle數據庫,我也想知道這一點。


編輯發現的解決方案由德克福爾馬爾和Wernfried Domscheit:

工具 - 參考 - 添加Microsoft ActiveX Data Objects

提示對於那些誰不能單擊參考選項:轉到Run->Reset並再次嘗試

+0

我希望用戶只能讀取有限系列表的權限。這不是一個安全問題嗎? – kevinsky

+1

數據庫用戶僅在少數表上具有有限權限(僅限選擇)。我會努力使數據庫登錄非清除文本,makro甚至可以保存。但那是我以後需要照顧的另一個問題。我相信有辦法! – Luke

回答

2

看來你還需要添加一個引用到ADO圖書館。您可以通過工具 - >參考... VBA編輯器的菜單。

他們您需要選擇要使用的版本(以及任何相關程序集)中的Microsoft ActiveX Data Objects庫

+0

我發現在互聯網上,可悲的是我無法找到工具菜單。工具提示(德語:Werkzeugsammlung)Toolcollection有一個圖標,顯示爲灰色。 – Luke

+0

http://www.mrexcel.com/forum/excel-questions/214952-tools-references-always-grayed-out.html'確保你沒有進入休息模式。嘗試點擊運行 - >重置。現在呢?'沒有爲我解決問題。 – Luke

+0

@Luke您可以從Microsoft網站下載並安裝ADO,例如https://www.microsoft.com/en-us/download/details.aspx?id=5793。有各種版本。一般來說,這裏列出了它包含的內容。 https://msdn.microsoft.com/en-us/library/ms675795(v=vs.85).aspx。 –

1

您必須引用ADODB庫。

轉到菜單工具 - >引用 - >選擇「Microsoft ActiveX數據對象2.7庫」(或任何你喜歡的版本,使用或擁有)

+0

查看Dirk Vollmar的評論。謝謝你的幫助。 – Luke