こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

OracleからAccessへのインポート

OracleのサーバからAccessのクライアントへ(1)のSQL文を使って
Accessのテーブルヘインポートしたいのですが、どのように(2)
に付け足せば良いのでしょうか?どなたかご教示願います。

(1)
SELECT S.KTN_COD ,K.KTN_MEI
FROM T_SYUKA S ,M_KTN K
WHERE S.KTN_COD=K.KTN_COD

(2)
Private Sub abc_Click()

Dim adoCnn As Object 'ADODB.Connection
Dim adoRec As Object 'ADODB.Recordset
Dim tblName As String

DoCmd.SetWarnings False
Set adoCnn = CreateObject("ADODB.Connection")
adoCnn.Open "Driver={Microsoft ODBC for Oracle};" & _
"CONNECTSTRING=dns; UID=hoge; PWD=hoge;"

strSQL = "SELECT S.KTN_COD ,K.KTN_MEIFROM T_SYUKA S ,M_KTN K" _
&"WHERE S.KTN_COD=K.KTN_COD"

adoCnn.Execute (strSQL)

adoCnn.Close
Set adoCnn = Nothing
Set adoRec = Nothing

End Sub

投稿日時 - 2014-08-07 10:02:15

QNo.8707553

困ってます

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

数千件のデータならOracleのリンクテーブルを作成して
Select文をサブクエリとしたInsert文1回で挿入してしまう
のが一般的かと思います。

Recordsetに入れてあるデータでは、接続情報もテーブルの
情報も違いますので、1行1行ループで回してデータを取り出し、
処理していく事になるかと思います。
Accessをよく使う方はDoCmd.TransferDatabaseを使うのでは
ないかと思いますが、慣れていない人はInsert文を1行1行編集
すればいいと思います。

投稿日時 - 2014-08-12 09:38:06

あなたにオススメの質問