私は、DSNなしでOracleデータベースからの私のテーブルを返すExcelで何かを持っています。私はAccessで同様のアプローチを望んでいた場合でも、私はこれを試してみました:私はここでエラーになってしまいアクセスパススルーDSNレスのOracleクエリ
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim rs As DAO.Recordset
Set db = CurrentDb
Set qdf = db.CreateQueryDef("")
qdf.Connect = "ODBC;DRIVER={Microsoft ODBC for Oracle};CONNECTSTRING=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=" & IP & ")(PORT=XXXX))(CONNECT_DATA=(SERVICE_NAME=" & svcname & ")));" & _
"Uid=" & Username & ";PWD=" & password &";"
qdf.Sql = "---some query"
qdf.ReturnsRecords = True
Set rs = qdf.OpenRecordset
:
は、私ができることはここにありますかと等価なものはありませんAccessのクエリテーブルについて
ExcelとAccess間の接続文字列とSQLが完全に同じであることは間違いありませんか?両方の 'Debug.Print'を行い、比較のためにテキストエディタに貼り付けます。 – Parfait
同一。私は1つから別のものにコピーして貼り付けています。また、http://connectionstrings.com/oracleの接続文字列を確認して、正しく使用していることを確認しました。これは正しい接続文字列を使用して取得したエラーです。それ以外の場合はODBCエラーが発生します。 –
QueryTablesに相当するものとして、レコードセット呼び出しを削除し、変更を保存するためにqdf、 'Set qdf = Nothing'を解放した後、' DoCmd.Open "mySavedQuery" 'クエリをオープンするだけです。これは、テーブルのようなExcelを開くか、Excelはテーブルのようなアクセスを開きます! – Parfait