2016-03-07 47 views

回答

0
  1. 添加在ODBC控制面板上的Oracle數據庫

  2. 在Access中,創建一個新的查詢一個DSN條目,將其定義爲直通,無論你在查詢文本要否則類型你無法保存(SELECT *沒問題)。這通槽查詢將被用來從Oracle檢索數據,並顯示在你的狀態,你將定義它的SQL在VBA代碼

  3. 在你的表單代碼上的飛,這樣做:


' Add this local variable to your form 
Private OracleQD As QueryDef 

' Do the following in the Load event of your form : 
Set OracleQD = CurrentDb.QueryDefs("Your_Previously_Created_Query_name") 
OracleQD.Connect = "ODBC;DSN=your_ODBC_entry_name;UID=your_Oracle_User;Pwd=Your_Oracle_Password" 
OracleQD.ODBCTimeout = 600 ' Set to anything you want 

' Do this everytime you want to retrieve data from Oracle 
OracleQD.SQL = "SELECT * FROM whatever_table_you_want" 
Set Form_Your_form_name.Recordset = OracleQD.OpenRecordset(dbOpenSnapshot) 

+0

這將用於訪問mdb數據庫,但不適用於訪問項目(.adp)。我試過這種方法,但設置表單的記錄集只有在基於sql server表,視圖或存儲過程的情況下才有效。 – ixohoxi1

0

我在後端服務器上創建一個表,通過VBA基於Oracle的記錄循環,然後在(SQL Server)的表創建新記錄的問題解決了通過使用存儲過程wh ich將基於oracle的記錄集中的字段作爲參數,並將這些值作爲記錄插入到sql服務器表中。

相關問題