「みんな教えて! 選手権!!」開催のお知らせ

アクセスで、クエリを作成したあとに、そのクエリのプロパティをスナップショットにした場合と、そのクエリをテーブル作成した場合、結果として、その両者は同じものなのでしょうか。違うとすれば、利用上、何がちがうかについて、ご教示ください。

A 回答 (3件)

>クエリのプロパティをスナップショットにした場合とそのクエリをテーブル作成した場合結果としてその両者は同じものなのでしょうか。


別々のクエリとして比較した場合、テーブル作成するのとスナップショットでクエリを開くのが同じタイミングであれば同じものです。レコードセットをスナップショットで展開する場合はクエリが発行されたタイミングでテーブルのレコードを参照しているだけでそれ以後の更新等は反映されません。レコードセットがダイナセットの場合は反映されます。
Accessの場合、選択クエリでレコードセットにスナップショットを指定しても他のテーブル作成クエリ等に変更した時点で自動的にダイナセットに変更されるはずです。

>違うとすれば、利用上、何がちがうか
簡単にいうと
スナップショット:データベースファイルなどを特定のタイミングで抜き出したもの。更新不可。
ダイナセット:クエリを実行した結果やテーブルから取り出した一部や全部のデータのこと。更新可能。
    • good
    • 1

私の場合、以下のように使い分けています。



例えばクエリで抽出したレコードを元に、更にクエリを実行する、
という必要がある場合には、最初のクエリをテーブル作成クエリにします。
(一連の操作を実行した後は、(その操作を行ったフォームを閉じるタイミングで)
 作成したテーブルを削除)
こうした方が、後続のクエリの実行速度が上がりますので。

一方、特に後続操作がない(→結果を表示させるだけ)場合は、
選択クエリで済まします。
(HDDへの書込が不要な分、早い(らしい)、と聞いたのと、わざわざ
 テーブルを削除する等の操作が不要であることから)
で、レコードを参照専用とする場合にスナップショットに設定しています。
(但し、私の場合、実際にはクエリ側ではなく、それを表示させる
 フォームの方で設定していますが)
    • good
    • 0

>クエリをテーブル作成した場合


の意味が良く判りません。

>スナップショットにした場合
は、ヘルプに記載されているように

「フィールドに連結されたテーブルまたはコントロールは編集できません 」

ということでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


おすすめ情報

このQ&Aを見た人がよく見るQ&A