Access のアクション クエリを、そのアクションに対応する SQL ステートメントを使って実行します。また、データ定義クエリを実行することもできます。
設定値
"RunSQL/SQLの実行" アクションでは、次の引数を使用します。
引数 | 内容 |
---|---|
SQL Statement SQL ステートメント |
実行するアクション クエリ、またはデータ定義クエリに対応する SQL ステートメントを指定します。最大 256 バイトまでのステートメントが指定できます。この引数は、省略できません。 |
Use Transaction トランザクションの使用 |
トランザクションにこのクエリを含めるには、[Yes/はい] を選択します。トランザクションを使用しない場合は、[No/いいえ] を選択します。既定値は、[Yes/はい] です。Access 97より以前のバージョンでは、このアクションを実行するときには必ずクエリをトランザクションに含めました。BeginTrans メソッドで開始し、SQL ステートメントを実行し、CommitTrans メソッドで終了します。 この引数に [No/いいえ] を選択すると、クエリの実行速度が向上することがあります。 |
解説
アクション クエリを使って、レコードの追加、削除、または更新を行い、クエリの結果セットを新しいテーブルとして保存できます。また、データ定義クエリを使って、テーブルを作成、変更、または削除し、インデックスを作成したり削除することができます。"RunSQL/SQLの実行" アクションを使うと、このような処理を既存のクエリを使わずにマクロから直接実行できます。
256 バイトを超える SQL ステートメントを入力する必要がある場合は、Visual Basic の DoCmd オブジェクトの RunSQL メソッドを使います。Visual Basic では、SQL ステートメントを 32,768 バイトまで入力できます。
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/ビュー" 引数に [Datasheet/データシート ビュー] を設定して、既存の選択クエリまたはクロス集計クエリをデータシート ビューで開きます。また、同じ方法で既存のアクション クエリと SQL クエリも実行できます。
ヒント Access のクエリに対応する SQL ステートメントを表示するには、クエリ ウィンドウで [表示] メニューの [SQL] をクリックします。"RunSQL/SQLの実行" アクションを使ってクエリを作成して実行する場合は、このコマンドで表示される SQL ステートメントの一覧を参考にしてください。"RunSQL/SQLの実行" アクションの "SQL Statement/SQL ステートメント" 引数で SQL ステートメントをコピーして実行した場合の動作は、このクエリをクエリ ウィンドウで実行した場合と同じです。