プロが教える店舗&オフィスのセキュリティ対策術

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

「データシートビューをコピーするとアクセス」の質問画像

A 回答 (1件)

> レコード数が1万以上あるのが原因でしょうか?



以前、数百~数千件(記憶が曖昧(汗))のレコードを削除する際、
削除クエリでは瞬時に終わったものが、「テーブルで全レコードを選択
してDeleteキー」ではかなり時間がかかった、と記憶しています。
そのことから、テーブルやフォームのデータシートビューからのレコード
操作は、それ以外の方法に比べて、PCへの負荷が大きいものと
推測しています。

ですので、コピー&ペースト以外の手段での対応を検討されることを
代替案として提案します。

例えば、
・同じmdbファイル内の他の既存テーブルに貼り付けたい
 →追加クエリを使用
・同じmdbファイル内の新規テーブルに貼り付けたい
 →テーブル作成クエリを使用
・別のmdbファイルの既存テーブルに貼り付けたい
 →そのテーブルをリンク先とする「リンクテーブル」を作成しておき、
   追加クエリを使用
・Excelなどに貼り付けたい
 →マクロなら「出力」や「ワークシート変換」というアクションで、
   VBAなら「OutPutTo」や「TransferSpreadsheet」というメソッドで、
   Excelなどにデータを出力した後、二次加工
 ※Excel以外にも、対応しているアプリケーションがいくつかあります。
   詳細は、マクロについてはAccess2003のヘルプで上記アクション名を、
   VBAについてはその編集画面(VBE)のヘルプで上記メソッド名を、
   それぞれ検索してください:
   各画面の右上にある「質問を入力してください」欄に上記語句を入力)
・上記「OutPutTo」等が対応していないアプリケーションに
 貼り付けたい
 →そのアプリケーションがcsvファイルの取り込みに対応しているなら、
   マクロの「テキスト変換」アクションか、VBAの「TransferText」を
   使用してcsvファイルとして出力後、対象アプリケーションで取り込み
といった感じです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/07/05 20:09

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

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