ACCESSでORACLEのサーバからデータを取得しようと試みましたがうまくいきません。どこを改善したらよろしいでしょうか?どなたかご教示ください。 クライアント:WINDOWS7 ACCESS2010 サーバ:WIN-SV2003 ORACLE10G 以下のエラーがVBAで取得しようとするとでてきてしまいます。 「[Microsoft][ODBC driver for Oracle][Oracle]ORA-00923:FROMキーワードが指定の位置にありません。」 SQL部分の空白は見直しました。 Private Sub コマンド610_Click() Dim adoCON As Object Dim rs As Object Dim oraclebox() As Variant Dim rdsu As Long On Error GoTo Err_Han 'データベースに接続する' Set adoCON = CreateObject("ADODB.Connection") adoCON.Open "Driver={Microsoft ODBC for Oracle};" & _ "CONNECTSTRING=*****; UID=abcd; PWD=1234;" sqlstr = "SELECT J.KTN_COD,J.SBN,J.GYOSYA_COD,G.GYOSYA_MEI" _ & "FROM JITU_SHARYOU J ,GYOSYA G" _ & "WHERE J.GYOSYA_COD = G.GYOSYA_COD" Set rs = adoCON.Execute(sqlstr) rs.MoveFirst 'レコード数カウント' Do Until rs.EOF rdsu = rdsu + 1 rs.MoveNext Loop '配列を再定義' ReDim oraclebox(rdsu, 4) i = 1 rs.MoveFirst Do Until rs.EOF oraclebox(i, 1) = rs!KTN_COD oraclebox(i, 2) = rs!SBN oraclebox(i, 3) = rs!GYOSYA_COD oraclebox(i, 4) = rs!GYOSYA_MEI i = i + 1 rs.MoveNext Loop rs.Close Set rs = Nothing '警告ダイアログをオフ' DoCmd.SetWarnings False DoCmd.RunSQL "DELETE FROM SAMPLE_T" 'Oracleデータを書き込み' For i = 1 To rdsu DoCmd.RunSQL "INSERT INTO SAMPLE_T(KTN_COD,SBN,GYOSYA_COD,GYOSYA_MEI)" _ & "VALUES('" & oraclebox(i, 1) & "','" & oraclebox(i, 2) & "','" & oraclebox(i, 3) & "'," & oraclebox(i, 4) & ")" Next i '警告ダイアログをオン' DoCmd.SetWarnings True Exit Sub Err_Han: ' エラー処理' MsgBox (Err.Description) End Sub *単一のテーブルであればDoCmd.TransferDatabase acImpor等を使うのですが、場合によっては今後データ量が多かったりより複数のテーブルを扱うことになるので。
↧