現象
Microsoft Access では、パススルー クエリを他のクエリ内のソース テーブルとして使用すると、パフォーマンスが低下する可能性があります。
原因
Microsoft Access では、パススルー クエリの定義は格納されません。 そのため、パススルー クエリは、その定義に関連する情報を取得するために、さまざまな時間に実行される場合があります。 パススルー クエリの実行にかなりの時間がかかると、パススルー クエリの実行中に Access がハングしているように見えます。
解決方法
Access で問題が発生した場所に応じて、この問題を防ぐ方法がいくつかあります。一般的な変更:
-
パススルー クエリのパフォーマンスを向上させ、クエリの実行にかかる時間を短縮します。
-
パススルー クエリを使用する代わりに、SQL Serverでビューを作成し、そのビューをリンク テーブルとして Access にリンクします。
特定のシナリオ:クエリの設計:
-
デザイン ビューではなく Access SQL View でデザインを変更します (クエリ デザイン ビューでは、最初にデザイン ビューでクエリを開いてビューを SQL ビューに変更できます。 次に、リボンの [デザイン] タブの [結果] セクションに移動します)。
-
この問題は、保存されたクエリに影響します。 そのため、Access SQL View で既存のクエリを開き、SQL 構文をコピーし、新しいクエリを作成し、SQL ビューに SQL 構文を貼り付けてから、クエリをデザイン ビューに変更できます。 クエリを保存するまで、問題なくクエリを設計できます。
フォームを開くか、クエリを実行する:
-
レコードセットの種類プロパティを Snapshot に変更します。 (デザイン ビューで、[表示/非表示] グループの下にあるリボンの [デザイン] タブからプロパティ シートを公開します)
レポートの表示:
-
パススルー クエリをレコード ソースとして使用するようにレポートを変更する