• ベストアンサー

Accessのクエリについて

Accessの初心者です。 “クエリ”がよくわからなくて困っています。 (1)テーブルの情報を更新した場合、クエリも自動で内容が更新するのでしょうか? 複数のクエリがある場合、テーブル更新後すぐにアクセスを閉じて、次にアクセスを起動させた時はクエリの内容も更新されるか。 それとも、テーブル更新後に各クエリを実行しないと更新しないとでしょうか。 (2)クエリ実行後、表示されたデータの一部を書き換えて出力した場合、元のテーブルの内容も変更されてしまうのでしょうか。 教えてください。 どうぞよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

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

noname#208518
質問者

お礼

早速、のお答えありがとうございます。 とてもわかりやすかったです。 ありがとうございました!

関連するQ&A