AccessでSQLを一括実行する
MS Accessでクエリの一括実行で、どなたかが試してみたようですが、僕もまさかクエリで複数のINSERT文が実行できないとは知りませんでした。
この方は、ツールで解決したようですが、僕はあえてVBAでやってみました。こんな感じです。
Option Compare Database Sub execFile() Set db = Application.CurrentDb() Set fs = CreateObject("Scripting.FileSystemObject") Set ts = fs.OpenTextFile("..\デスクトップ\hoge.sql") While ts.AtEndOfLine = False lineData = ts.readLine db.Execute (lineData) Wend ts.Close End Sub
insert into test values(1, 'aaa'); insert into test values(2, 'bbb');
なんのことはない、DatabaseオブジェクトのExecuteにSQL文渡しているだけだったりします。
ところで、ファイルを開くダイアログをAccessで出すのが難しい件で、ファイルを開く ダイアログを表示する方法なんてのがあるようです。奥が深いですね。
今現場で使っているPCは、Office2003がインストールされているので、Application.FileDialogを使って出来てしまいますが。