Access

【Access】クエリ抽出結果をデータシートからコピー時、時間がかかる(遅い)改善対策

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

「AccessのデータシートビューからExcelに張り付けているけど、コピーに時間がかかるので改善できない?」というご相談。

現状調査

解析すると、フォーム中のサブフォームでデータシートビューが埋め込まれており、そのデータシートは2つのSQLServerのビューのリンクをクエリで結合されていました。
データシートビューの表示速度に関してはストレスは無いので、特にクエリに対しては負荷もかかっていないようで問題は無さそうです。

データシートビューに割り当てされているクエリを単体で実行後、データをコピーするとやはり劇的に遅い事が確認されました。
更にデータを開いたまま、エクスポートの確認。
メニュー[外部データ]-[Excelスプレッドシートにエクスポート]から、[書式設定とレイアウトを保持したままエクスポート]のチェックを外してエクスポートすると、一瞬で出力されます。
逆に[書式設定とレイアウトを保持したままエクスポート]のチェックを入れてエクスポートすると、データシートビューのコピーと同様に遅い事が確認されました。

原因は判明したものの・・・

整理すると、
[書式設定とレイアウトを保持したままエクスポート]のチェックOFFは早い。
[書式設定とレイアウトを保持したままエクスポート]のチェックONは遅い。
データシートのコピーは、自動的にONの状態でコピーされているものと思われます。

解決はどうするか

コードやマクロを組んで[書式設定とレイアウトを保持したままエクスポート]のチェックOFFでエクスポート対応させようと試してみましたが、どうやら対応されていないようです。
もう一度サブフォーム内のプロパティのデータを確認しながら眺めていると、データセットが標準のダイナセットになっていました。
今回のビュー表示は更新もなく、リアルタイム性も不要なのでスナップショットに変更しました。

まとめ

更新不要なデータシートでExcel等へ出力される場合は、スナップショットへの変更がおすすめです。
標準ではダイナセットになっている為、設計や運用時に見極めて使い分けをすればいいでしょう。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

ブログ記事について

記事は毎週月曜日午前中に発信!(私感/私考カテゴリについては随時)
多数の投稿記事は、メニューや検索機能で目的の記事に辿る事が可能です。
コメントや下記支援のご協力をお願い致します。

公式ホームページについて

当ブログではITエンジニア関連のテクニカルな事、そして様々な商品のレビュー記事を公開しています。
一方ホームページでは、それ以外の少しビジネス寄り(企業や個人事業主向け)のサービスや情報を発信します。

該当される方、ご興味のある方はホームページの方もご参照ください。

コメントを残す

*