クエリは、データを操作するために使用できる一連の命令です。 クエリを実行して以下の手順を実行します。 クエリでは、並べ替え、グループ化、またはフィルター処理できる結果を返すだけでなく、データを作成、コピー、削除、または変更することもできます。
この記事では、クエリを実行する方法について説明し、さまざまな種類のクエリの簡単な概要のみを提供します。 この記事では、さまざまな種類のクエリを実行したときに発生する可能性があるエラー メッセージについても説明し、それらのエラーを回避または修正するための手順についても説明します。
この記事では、クエリを作成するための詳細な手順は説明していません。
重要
データベースが無効モードで動作している場合、アクション クエリを実行できません (無効モードは、特定の状況でデータを保護するために Access で使用される機能制限モードです)。 ダイアログ ボックスの警告が表示されるか、メッセージ バーに警告が表示される場合があります。
無効モードの詳細と、アクション クエリを有効にする方法については、「 アクション クエリの実行」セクションを参照してください。
目的に合ったトピックをクリックしてください
選択クエリまたはクロス集計クエリを実行する
選択クエリとクロス集計クエリを使用して、データを取得して表示し、フォームとレポートにデータを提供します。 選択クエリまたはクロス集計クエリを実行すると、結果がデータシート ビューに表示されます。
クエリを実行する
ナビゲーション ウィンドウでクエリを検索します。
次のいずれかの操作を行います。
- 実行するクエリをダブルクリックします。
- 実行するクエリをクリックし、Enter キーを押します。
実行するクエリが現在デザイン ビューで開かれている場合は、Microsoft Office Fluent ユーザー インターフェイスの一部であるリボンの [デザイン] タブの [結果] グループで [実行] をクリックしてクエリを実行することもできます。
アクション クエリを実行する
アクション クエリには、追加クエリ、削除クエリ、更新クエリ、テーブル作成クエリの 4 種類があります。 (新しいテーブルを作成する) テーブル作成クエリを除き、アクション クエリは、基になるテーブル内のデータに変更を加えます。 これらの変更は、たとえば CTRL+Z キーを押して簡単に元に戻すことはできません。 後で変更を行わないと判断したアクション クエリを使用して変更を加えた場合、通常はバックアップ コピーからデータを復元する必要があります。 このため、アクション クエリを実行する前に、基になるデータの新しいバックアップを常に確認する必要があります。
アクション クエリを実行するリスクを軽減するには、操作対象になるデータを最初にプレビューします。 これを行うには 2 つの方法があります。
アクション クエリを実行する前に、データシート ビューでアクション クエリを表示してください。 これを行うには、クエリをデザイン ビューで開き、Access ステータス バーの [ 表示 ] をクリックして、ショートカット メニューの [データシート ビュー ] をクリックします。 デザイン ビューに戻すには、もう一度 [表示 ] をクリックし、ショートカット メニューの [ デザイン ビュー ] をクリックします。
クエリを選択クエリに変更してから実行します。
注
開始する操作クエリの種類 (追加、更新、テーブル作成、または削除) を必ずメモしておき、このメソッドでデータをプレビューした後でクエリをその種類に戻すことができるようにします。
アクション クエリを選択クエリとして実行する
- デザイン ビューでアクション クエリを開きます。
- [ デザイン ] タブの [クエリの種類 ] グループで、[ 選択] をクリックします。
- [デザイン] タブの [結果] グループで、[実行] をクリックします。
クエリを実行する
アクション クエリを実行する準備ができたら、ナビゲーション ウィンドウでアクション クエリをダブルクリックするか、アクションをクリックして Enter キーを押します。
重要
既定では、Access はデータベースを信頼することを指定しない限り、データベース内のすべてのアクション クエリを無効にします。 データベースを信頼していることを示すには、リボンのすぐ下にあるメッセージ バーを使用します。
データベースを信頼する
- メッセージ バーの [オプション] をクリックします。
[Microsoft Office セキュリティ オプション] ダイアログ ボックスが表示されます。 - [このコンテンツを有効にする] をクリックし、[OK] をクリックします。
パラメーター クエリを実行する
パラメーター クエリを実行すると、値の入力を求めるプロンプトが表示されます。 値を指定すると、パラメーター クエリによってフィールド条件として適用されます。 条件を適用するフィールドは、クエリ デザインで指定されます。 プロンプトが表示されたときに値を指定しない場合、パラメーター クエリは入力を空の文字列として解釈します。
パラメーター クエリは、常に別の種類のクエリでもあります。 ほとんどのパラメーター クエリは、選択クエリまたはクロス集計クエリですが、追加、テーブル作成、更新クエリもパラメーター クエリにすることができます。
パラメータ クエリは、他のクエリ タイプに応じて実行しますが、一般には、次の手順を使用します。
クエリを実行する
ナビゲーション ウィンドウでクエリを検索します。
次のいずれかの操作を行います。
- 実行するクエリをダブルクリックします。
- 実行するクエリをクリックし、Enter キーを押します。
パラメーター プロンプトが表示されたら、条件として適用する値を入力します。
SQL 固有のクエリを実行する
SQL 固有のクエリには主に、ユニオン クエリ、パススルー クエリ、データ定義クエリの 3 つの種類があります。
ユニオン クエリでは、2 つ以上のテーブルからのデータを結合されますが、他のクエリと同じ方法は結合されません。 ほとんどのクエリが行を連結してデータを結合するのに対し、ユニオン クエリでは行を追加してデータを結合します。 ユニオン クエリが追加クエリと異なる点は、ユニオン クエリが基になるテーブルを変更しないという点です。 ユニオン クエリは、クエリが閉じられた後は保持されないレコードセット内の行を追加します。
パススルー クエリは、Access に付属するデータベース エンジンでは処理されません。リモート データベース サーバーに直接渡され、リモート データベース サーバーが処理を行い、結果を Access に渡します。
データ定義クエリは、データを処理しない特殊なタイプのクエリです。代わりに、データ定義クエリは他のデータベース オブジェクトを作成、削除、または変更します。
SQL 固有のクエリは、デザイン ビューで開くことができません。 これらは、SQL ビューでのみ開くか、実行できます。 データ定義クエリを除き、SQL 固有のクエリを実行すると、データシート ビューで開きます。
クエリを実行する
ナビゲーション ウィンドウでクエリを検索します。
次のいずれかの操作を行います。
- 実行するクエリをダブルクリックします。
- 実行するクエリをクリックし、Enter キーを押します。
エラー メッセージのトラブルシューティング
次の表に、よく発生する可能性があるエラー メッセージをいくつか示します。 これらのエラーは、(予期される値ではなく) セル内のメッセージとして、またはエラー メッセージとして表示されます。 この一覧に続くセクションでは、これらのエラーを解決する手順について説明します。
注
この表の内容はすべてを網羅していません。 表示されたエラー メッセージが含まれていない場合は、この記事の最後にあるフォームを使用して、表示されたコメント ボックスにエラー メッセージに関する具体的な情報を含めてフィードバックを送信できます。
| エラー メッセージ | 問題 | 解決方法 |
|---|---|---|
| 式の型の不一致 | このクエリは、異なるデータ型を持つフィールドを結合している可能性があります。 | クエリ デザインをチェックし、結合されたフィールドのデータ型が同じであることを確認します。 手順については、「 クエリで結合されたフィールドを確認する」セクションを参照してください。 |
| レコードが削除されます | これは、オブジェクトまたはデータベースが破損している場合に発生する可能性があります。 | データベースを圧縮して修復します。 手順については、「 データベースを圧縮して修復する」セクションを参照してください。 |
| エイリアスによる循環参照 | フィールドに割り当てられているエイリアスは、そのフィールドの式のコンポーネントと同じです。 エイリアスは、クエリ デザイン グリッドの [フィールド ] 行で実際のフィールドではない式に付けられる名前です。 ユーザーが自分でエイリアスを割り当てない場合は、Access によってエイリアスが割り当てられます。たとえば、 EXPR1 です。 エイリアスの直後にコロン (:) が続き、次に式が続きます。 クエリを実行すると、エイリアスはデータシートの列名になります。 |
エイリアスを変更します。 手順については、「 フィールド エイリアスを変更する」セクションを参照してください。 |
| #Error | このエラーは、集計フィールドの値がフィールドの FieldSize プロパティ設定で許可されている値より大きい場合に発生する可能性があります。 これは、集計フィールドの分母がゼロ (0) であるか、またはゼロ (0) に対して評価された場合にも発生します。 | 集計フィールドの分母がゼロ (0) に評価されないことを確認します。 必要に応じて、 FieldSize プロパティを変更します。 |
| #Deleted | 参照されているレコードが削除されました。 | レコードを誤って削除した場合は、バックアップから復元する必要があります。 削除が意図的であった場合は、SHIFT + F9 キーを押してクエリを更新することで、このエラー メッセージを無視できます。 |
クエリで結合されたフィールドを確認する
クエリ内のフィールドのデータ型をチェックするには、デザイン ビューでソース テーブルを確認し、チェックするフィールドのプロパティを調べます。
- クエリをデザイン ビューで開きます。 結合は、ソース テーブルのフィールドを接続する線として表示されます。 各結合のテーブル名とフィールド名をメモします。
- ナビゲーション ウィンドウで、クエリで結合された 1 つ以上のフィールドがあるテーブルをそれぞれ右クリックし、[ デザイン ビュー] をクリックします。
異なるデータ型を持つ結合フィールド。
テーブルを右クリックし、[デザイン ビュー] をクリックします。 - 結合ごとに、その結合に関連するフィールドについて、テーブル デザイン グリッドの [ データ型 ] 列の値を比較します。
表のデザイン ビューで結合フィールドのデータ型を確認します。 - テーブルに切り替えてそのフィールドを表示できるようにするには、そのテーブルの名前の付いたタブをクリックします。
データベースを圧縮して修復する
Access 内でデータベースの圧縮と修復ユーティリティを実行すると、データベースのパフォーマンスを向上させることができます。 このユーティリティは、データベース ファイルのコピーを作成し、断片化されている場合は、データベース ファイルをディスクに格納する方法を再配置します。 圧縮および修復プロセスが完了すると、圧縮されたデータベースには無駄な領域が再利用され、通常は元のデータベースよりも小さくなります。 データベースを頻繁に圧縮することで、データベース アプリケーションの最適なパフォーマンスを確保し、ハードウェアの問題、停電やサージ、および同様の原因から発生するエラーを解決することもできます。
圧縮操作が完了すると、基になるデータが連続したページのテーブルに書き換えられるため、クエリの速度が向上します。 連続するページのスキャンは、断片化されたページのスキャンよりもはるかに高速です。 データベースの各圧縮後にも、クエリが最適化されます。
圧縮操作中は、圧縮されたデータベース ファイルの元の名前を使用することも、別の名前を使用して別のファイルを作成することもできます。 同じ名前を使用し、データベースが正常に圧縮されると、元のファイルは自動的に圧縮されたバージョンに置き換えられます。
このプロセスを自動化するオプションを設定します
- [ ファイル>オプション ] をクリックして、[ Access オプション] ダイアログ ボックスを開きます。
- [現在のデータベース] をクリックし、[アプリケーション オプション] の下の [閉じるときに圧縮] チェック ボックスをオンにします。
このため、Access はデータベースを閉じるたびに、自動的に圧縮して修復します。
データベースを手動で圧縮して修復する
- [ データベース ツール>データベースの圧縮と修復] をクリックします。
フィールドのエイリアスを変更する
- クエリをデザイン ビューで開きます。
- クエリ デザイン グリッドで、エイリアスを持つフィールドを探します。 これらは、 Name: のように、フィールド名の末尾にコロンが付加されます。
- 各エイリアスをチェックして、エイリアスがエイリアスの式の一部であるフィールドの名前と一致しないことを確認します。 その場合は、エイリアスを変更します。