• ベストアンサー

データシートビューをコピーするとアクセスがフリーズする

アクセス2003です。 図のようにフォーム上にあるサブフォーム(データシートビュー)をすべて選択し、 「Ctrl+C」でコピーするとアクセスがフリーズします。 (再起動が必要) 何回やっても同じです。 レコード数が1万以上あるのが原因でしょうか? 共有はしていなくて私しか使用していません。 アドバイス宜しくお願い致します。

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

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

> レコード数が1万以上あるのが原因でしょうか? 以前、数百~数千件(記憶が曖昧(汗))のレコードを削除する際、 削除クエリでは瞬時に終わったものが、「テーブルで全レコードを選択 してDeleteキー」ではかなり時間がかかった、と記憶しています。 そのことから、テーブルやフォームのデータシートビューからのレコード 操作は、それ以外の方法に比べて、PCへの負荷が大きいものと 推測しています。 ですので、コピー&ペースト以外の手段での対応を検討されることを 代替案として提案します。 例えば、 ・同じmdbファイル内の他の既存テーブルに貼り付けたい  →追加クエリを使用 ・同じmdbファイル内の新規テーブルに貼り付けたい  →テーブル作成クエリを使用 ・別のmdbファイルの既存テーブルに貼り付けたい  →そのテーブルをリンク先とする「リンクテーブル」を作成しておき、    追加クエリを使用 ・Excelなどに貼り付けたい  →マクロなら「出力」や「ワークシート変換」というアクションで、    VBAなら「OutPutTo」や「TransferSpreadsheet」というメソッドで、    Excelなどにデータを出力した後、二次加工  ※Excel以外にも、対応しているアプリケーションがいくつかあります。    詳細は、マクロについてはAccess2003のヘルプで上記アクション名を、    VBAについてはその編集画面(VBE)のヘルプで上記メソッド名を、    それぞれ検索してください:    各画面の右上にある「質問を入力してください」欄に上記語句を入力) ・上記「OutPutTo」等が対応していないアプリケーションに  貼り付けたい  →そのアプリケーションがcsvファイルの取り込みに対応しているなら、    マクロの「テキスト変換」アクションか、VBAの「TransferText」を    使用してcsvファイルとして出力後、対象アプリケーションで取り込み といった感じです。

zxdaeg
質問者

お礼

テーブルへ手作業で処理をすると遅くなるのですね。 vbaでやってみたいと思います。 ありがとうございます。

関連するQ&A