- ベストアンサー
Accessのクエリについて
Accessの初心者です。 “クエリ”がよくわからなくて困っています。 (1)テーブルの情報を更新した場合、クエリも自動で内容が更新するのでしょうか? 複数のクエリがある場合、テーブル更新後すぐにアクセスを閉じて、次にアクセスを起動させた時はクエリの内容も更新されるか。 それとも、テーブル更新後に各クエリを実行しないと更新しないとでしょうか。 (2)クエリ実行後、表示されたデータの一部を書き換えて出力した場合、元のテーブルの内容も変更されてしまうのでしょうか。 教えてください。 どうぞよろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
テーブルとクエリについて大雑把に説明すると、 ・テーブル: データ(レコード)の保存先 ・クエリ(特に選択クエリ): データを表示する際の、「対象フィールド」や「絞込や並替の条件」の 保存先 (Excelで例えると、「オートフィルタ」や「並べ替え」で表示される、 『各条件を表示する小画面(ダイアログ)』そのものがクエリに相当) です。 つまり、クエリ自体はレコードを持っているわけではないので、基本的には 「テーブルの更新後にクエリを開くと、更新内容が表示結果に反映される」 ということになります。 但し、先にクエリを開き、後からテーブルにレコードの追加を行った場合は、 クエリには追加データの内容は反映されません(クエリを開き直せば反映)。 また、同様に、先にクエリを開いた状態でテーブルでレコードを削除すると、 クエリのレコード数は減りませんが、削除された行が「#Delete」というエラー 表示にかわります(但し若干タイムラグが発生)。 > (2)クエリ実行後、表示されたデータの一部を書き換えて出力した場合、 > 元のテーブルの内容も変更されてしまうのでしょうか。 上記のように、選択クエリはテーブルのデータを表示しているだけですので、 「クエリでのデータ書換=テーブルのデータ書換」になります。 (つまり、「変更されて」しまいます) あくまで「一時的にデータを書き換えて出力したい」という場合は、上記の 「選択クエリ」の代わりに ・テーブル作成クエリ: 指定された名前で新規テーブルを作成し、指定された条件に合った レコードのコピーを保存 ・(削除クエリ+)追加クエリ: 予め作成しておいた一時データ保存用のテーブルで、(古いレコードを 削除クエリで削除後、)指定された条件にあったレコードのコピーを保存 といった方法を使います。 (「別のテーブルにコピー」したレコードなら、編集してももとのテーブルには 影響しない、と)
お礼
早速、のお答えありがとうございます。 とてもわかりやすかったです。 ありがとうございました!