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