「AccessからSQLで取得した結果をExcelシートにInsertするには?」
ということですが、簡単に説明すると以下の事の逆を行いたいのです。
[Sample]
Set cnn = New ADODB.Connection
With cnn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & App.Path & "\testdb.mdb"
.Open
End With
Set objExcelApplication = CreateObject("Excel.Application")
Set objExcelBook = objExcelApplication.Workbooks.Open(App.Path & "\ExcelToAccess.xls")
'更新後集計表2テーブルへInsert
strAccessSql = "INSERT INTO AccessTable " & _
"SELECT * FROM [ExcelSheetName$] " & _
"IN '" & App.Path & "\ExcelToAccess.xls" & "' " & _
"'Excel 8.0;HDR=Yes'"
cnn.Execute strAccessSql
cnn.Close
既に
Accessに対しSqlを発行し、その結果(RecordSet)を1行ずつ、ないし配列オブジェクトをExcelへ貼り付ける事はできております。が、
今回は一括でSqlの結果をExcelへInsertできないものかという質問をさせていただいております。
よろしくお願いいたします。
申し訳ございません
Set objExcelApplication = CreateObject("Excel.Application")
Set objExcelBook = objExcelApplication.Workbooks.Open(App.Path & "\ExcelToAccess.xls")
の部分は必要ないです^^;
改めましてよろしくお願いいたします。
すいません!
With cnn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Data Source").Value = App.Path & "\AccessToExcel.xls"
.Properties("Extended Properties").Value = "Excel 8.0;HDR=YES"
.Open
End With
'更新後集計表2テーブルへInsert
strAccessSql = "INSERT INTO [" & strExcelSheetName & "$] " & _
"SELECT * FROM TestTable2 " & _
"IN '" & App.Path & "\testdb.mdb" & "' "
とすることで解決いたしました!
ありがとうございました!
ツイート | ![]() |