RunSQL マクロ アクションを使用すると、対応する SQL ステートメントを使用して、 Access デスクトップ データベースで アクション クエリ を実行できます。 データ定義クエリを実行することもできます。
注: このアクションは、データベースが信頼されていない場合は許可されません。
設定
"RunSQL/SQLの実行" マクロ アクションには次の引数があります。
アクションの引数 |
説明 |
SQL ステートメント |
実行するアクション クエリまたはデータ定義クエリの SQL ステートメント。 このステートメントの最大文字数は、255 文字です。 これは必須の引数です。 |
トランザクションの使用 |
[はい] を選択すると、このクエリがトランザクションに追加されます。 トランザクションを使用しない場合、[いいえ] を選択します。 既定値は [はい] です。 この引数に [いいえ] を選択した場合、クエリの実行が速くなることがあります。 |
解説
アクション クエリを使用し、レコードを追加、削除、更新したり、クエリの結果セットを新しいテーブルとして保存したりできます。 データ定義クエリを使用し、テーブルを作成、変更、削除したり、インデックスを作成または削除したりできます。 "RunSQL/SQLの実行" マクロ アクションを利用すれば、ストアド クエリを利用しなくても、以上の操作をマクロから直接実行できます。
255 文字より長い SQL ステートメントを入力しなければならない場合、代わりに Visual Basic for Applications (VBA) モジュールの DoCmd オブジェクトの "RunSQL/SQLの実行" メソッドを使用してください。 VBA では、最大 32,768 文字の SQL ステートメントを入力できます。
Access クエリは実際、クエリ ウィンドウ でデザイン グリッドを利用してクエリを設計するときに作成される SQL ステートメントです。 次の表は、Access アクション クエリ、データ定義クエリ、対応する SQL ステートメントをまとめたものです。
クエリの種類 |
SQL ステートメント |
アクション |
|
追加 |
INSERT INTO |
削除 |
DELETE |
表作成 |
SELECT...INTO |
更新 |
UPDATE |
データ定義 (SQL 固有) |
|
テーブルを作成する |
CREATE TABLE |
テーブル変更 |
ALTER TABLE |
表を削除する |
DROP TABLE |
インデックスを作成する |
CREATE INDEX |
インデックスを削除する |
DROP INDEX |
以上のステートメントと共に IN 句を使用すると、別のデータベースのデータを変更することもできます。
注: マクロから 選択クエリ または クロス集計クエリ を実行するには、"OpenQuery/クエリを開く" マクロ アクションの "View/ビュー" 引数を使用し、データシート ビュー ビューで既存の選択クエリまたはクロス集計クエリを開きます。 既存のアクション クエリと SQL 固有のクエリは同じように実行できます。
ヒント
Access クエリに相当する SQL を表示するには、(Access ステータス バーの) [ビュー] メニューの [SQL ビュー] をクリックします。 一覧にある SQL ステートメントをモデルとして使用してクエリを作成し、"RunSQL/SQLの実行" モデル アクションで実行できます。 "RunSQL/SQLの実行" マクロ アクションのために "SQL Statement/SQL ステートメント” 引数で SQL ステートメントを複製すると、クエリ ウィンドウでこの Access クエリを実行することと同じ結果が得られます。