VBA:ExcelからAccessのアクションクエリをSQLで実行し、セルにコピーする

VBA

Excel VBAでAccessのアクションクエリをSQLで実行し、セルにコピーする

前回は、AccessでアクションクエリにFilterを利用してExcel VBA実行する方法を説明しました。

関連記事

Excel VBAでAccessのアクションクエリをフィルタ利用して実行し、セルにコピーする 前回は、Accessで複数パラメータ付きのアクションクエリをExcel VBAを利用して実行する方法を説明しました。 [sitecard […]

今回は、AccessのアクションクエリをオードソックスなSQLを利用します。SQLは自由度が高く、極めて柔軟に設定ができるため、今までパラメータやフィルタなどを利用してデータを取得した中では、一番使いやすい方法です。

複雑なデータを抽出するためにはSQLを理解する必要がありますが、SQLは、SELECT(選択),INSERT(追加),UPDATE(更新),DELETE(削除)の4つの命令を理解すれば大丈夫です。

VBAを実行する前に、「Microsoft ActiveX Data Objects 6.1 Libraly」または「Microsoft ActiveX Data Objects 2.X Libraly」を参照設定します。

参照設定については、以下で説明しています。

関連記事

事前バインディングと実行時バインディングの違い VBAのバインディングとは、外部のオブジェクトの機能をVBAで利用できるようにすることです。 バインディングは2通りの方法があり、実行時に利用できるようにする実行時バインディング(遅延[…]

ExcelのVBAで、AccessのアクションクエリをSQLで実行し、セルにコピーする基本的なコードは以下のような感じになります。

13行目でSELECTという命令のSQL文を作成し、15行目でSQLを実行してデータを取得しています。

SQLでデータを取得をする場合は、Accessのアクションクエリの設定はなし

ExcelからADO(Microsoft ActiveX Data Objects)を利用してSQLを実行する場合、Accessのクエリの抽出条件で設定するものはありません。

SQLに慣れていれば、SQLの4つの命令をフルに活用してバリバリと実行することをおすすめします。これからSQLを始める方も、SQLに慣れればSQLの良さが理解でき、SQL以外は使わなくなると思います。