• 締切済み

insert文

VBAの質問ではありますが、こちらの方が回答されやすいかと思い こちらに投稿しました。 Excel内のデータをDBに作成したテーブルの 各項目にinsert文を使って入れる処理をしたく 下記のコードを書いたのですが 実行時エラー440 オートメーションエラーと、でて止まってしまいます。 項目は MASTERKBN NAMEKBN NAMECODE NAMESの4つです。 Const Sv_Name = "Scaw" Const Pass_WD = "SAWAGUCHI/SAWAGUCHI" Const Table_Name = "ZAA_MS510" Sub 削除後追加() Dim OSession As Object Dim ODataBase As Object Dim StrSQL As String Dim idx1, idx2 As Integer Dim objDstSheet As Worksheet Set OSession = CreateObject("OracleInProcserver.XOraSession") Set ODataBase = OSession.OpenDatabase(Sv_Name, Pass_WD, 0&) StrSQL = "Truncate Table " & Table_Name ODataBase.ExecuteSQL (StrSQL) Set objDstSheet = ThisWorkbook.Worksheets(3) With objDstSheet For idx1 = 2 To objDstSheet.UsedRange.Rows.Count 'StrSQL = "Insert Into " & Table_Name & " Values(" For idx2 = 1 To objDstSheet.UsedRange.Columns.Count If idx2 = 5 Then StrSQL = StrSQL & .Cells(idx1, idx2) & "," Else StrSQL = StrSQL & "'" & .Cells(idx1, idx2) & "'," End If Next Mid(StrSQL, Len(StrSQL), 1) = ")" ODataBase.ExecuteSQL (StrSQL) ※エラーが出る部分 Next End With End Sub Insert文が間違っているのかそれとも他のことが原因なのか わからず困ってます。 どなたか詳しく教えてもらえませんか。 お願いします。

みんなの回答

  • tkrn
  • ベストアンサー率53% (33/62)
回答No.1

×'StrSQL = "Insert Into " & Table_Name & " Values(" ○StrSQL = "Insert Into " & Table_Name & " Values(" とかじゃないです?転記ミス? デバッグ方法として、StrSQL変数をDebug出力して、SQLPlusで実行してみてはどうでしょうか?

yobakuri
質問者

補足

'StrSQL = "Insert Into " & Table_Name & " Values(" に  なっているのは転記ミスです。  StrSQL = "Insert Into " & Table_Name & " Values(" が  そうです。  

すると、全ての回答が全文表示されます。

関連するQ&A