2017-02-28 4 views
1

Excelでさまざまな列のデータが大量にあります。私の仕事は、各行のinsert文を作成することです。私はExcelの連結機能を使用して行っているが、私はこの方法を自動化したい。もう1つのタスクは、 '(単一引用符)を' '(2つの単一引用符)に置き換えて、SQL文で文字を調整できるようにすることです。メインは一度私はExcelを取得し、私は自動的にすべてのクエリを作成するスクリプトを実行します。その後、SQLデベロッパーやTOADでこれらのクエリを手動で実行します。VBとマクロを使用してExcelでクエリを作成する

答えて

1

テーブルとExcelデータに関する情報がない場合、Excelのデータがテーブルと同じレイアウトで行2から始まる列A:Dにあると仮定した場合の例を次に示します。また、すべてのフィールドがテキストタイプであると仮定します。

Sub createQueries() 

    Dim r As Range, cel As Range, record As String 

    'Get the range to export 
    With Sheet1 
     Set r = .Range("A2:D" & .Range("D999999").End(xlUp).Row) 
    End With 

    ' Create a text file for the query 
    With CreateObject("Scripting.FileSystemObject").CreateTextFile("c:\SO\queries.txt") 
     For Each r In r.Rows 
      ' create an Insert line into the query 
      record = "INSERT INTO MYTABLE (""FieldA"", ""FieldB"", ""FieldC"", ""FieldD"") Values (" 
      For Each cel In r.Cells 
       record = record & "'" & Replace(cel.Text, "'", "''") & "'," 
      Next 
      record = Left(record, Len(record) - 1) & ");" 
      .WriteLine record 
     Next 
     .Close 
    End With 
End Sub 
関連する問題