こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Accessのクエリについて

Accessの初心者です。
“クエリ”がよくわからなくて困っています。

(1)テーブルの情報を更新した場合、クエリも自動で内容が更新するのでしょうか?
複数のクエリがある場合、テーブル更新後すぐにアクセスを閉じて、次にアクセスを起動させた時はクエリの内容も更新されるか。
それとも、テーブル更新後に各クエリを実行しないと更新しないとでしょうか。

(2)クエリ実行後、表示されたデータの一部を書き換えて出力した場合、元のテーブルの内容も変更されてしまうのでしょうか。

教えてください。
どうぞよろしくお願い致します。

投稿日時 - 2009-07-17 21:17:40

QNo.5133734

困ってます

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

テーブルとクエリについて大雑把に説明すると、
 ・テーブル:
  データ(レコード)の保存先
 ・クエリ(特に選択クエリ):
  データを表示する際の、「対象フィールド」や「絞込や並替の条件」の
  保存先
  (Excelで例えると、「オートフィルタ」や「並べ替え」で表示される、
   『各条件を表示する小画面(ダイアログ)』そのものがクエリに相当)
です。

つまり、クエリ自体はレコードを持っているわけではないので、基本的には
「テーブルの更新後にクエリを開くと、更新内容が表示結果に反映される」
ということになります。

但し、先にクエリを開き、後からテーブルにレコードの追加を行った場合は、
クエリには追加データの内容は反映されません(クエリを開き直せば反映)。
また、同様に、先にクエリを開いた状態でテーブルでレコードを削除すると、
クエリのレコード数は減りませんが、削除された行が「#Delete」というエラー
表示にかわります(但し若干タイムラグが発生)。


> (2)クエリ実行後、表示されたデータの一部を書き換えて出力した場合、
> 元のテーブルの内容も変更されてしまうのでしょうか。

上記のように、選択クエリはテーブルのデータを表示しているだけですので、
「クエリでのデータ書換=テーブルのデータ書換」になります。
(つまり、「変更されて」しまいます)

あくまで「一時的にデータを書き換えて出力したい」という場合は、上記の
「選択クエリ」の代わりに
 ・テーブル作成クエリ:
  指定された名前で新規テーブルを作成し、指定された条件に合った
  レコードのコピーを保存
 ・(削除クエリ+)追加クエリ:
  予め作成しておいた一時データ保存用のテーブルで、(古いレコードを
  削除クエリで削除後、)指定された条件にあったレコードのコピーを保存
といった方法を使います。
(「別のテーブルにコピー」したレコードなら、編集してももとのテーブルには
 影響しない、と)

投稿日時 - 2009-07-18 10:02:19

お礼

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

投稿日時 - 2009-07-18 11:26:10

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問