dポイントプレゼントキャンペーン実施中!

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

A 回答 (1件)

数千件のデータならOracleのリンクテーブルを作成して


Select文をサブクエリとしたInsert文1回で挿入してしまう
のが一般的かと思います。

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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!