Access のレポートで最終ページ移動ボタンをクリックすると時間がかかる

概要

この資料は、Access 2002 でレポートを開き、最終ページ移動ボタンをクリックすると、最終ページを表示するまでに時間がかかる現象について説明しています。

現象

Access 2002 でレポートを開き、最終ページ移動ボタンをクリックすると、Access 97 と比べて最終ページが表示されるまでに時間がかかる場合があります。

補足

  • Access 2002 で新規に mdb ファイルを作成した場合にも発生します。
  • イベント プロシージャが設定されていない場合にも現象が発生します。
  • データ件数やレポートのページ数、マシンのスペックによって、最終ページを表示するまでにかかる時間が異なります。
  • フォームで最終レコードへの移動ボタンをクリックしても、同様の現象は発生しません。
  • 最終ページ数を入力して最終ページへジャンプする場合には、即時に移動することができます。
  • 一度でも最終ページを表示した場合、レポートを閉じない限り、2 度目の最終ページの表示にはそれほど時間はかかりません。
    たとえば、最終ページ表示後、1 ページ目に戻ってから最終ページへの移動ボタンをクリックした場合、最終ページの表示にそれほど時間はかかりません。

状況

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

詳細

再現手順

  1. Access 2002 で新規 mdb ファイルを作成します。
  2. 新規にモジュール "モジュール1" を作成し、以下のコードをコピーして貼り付けて実行すると、20,000 件のデータを持つテーブル "TEST" が作成されます。

    注意 : 以下のサンプル プログラムは、弊社にてその動作を保証するものではありません 。 ご使用の際には、お使いのシステムに合わせて修正し、十分なテストを実施してください。
    Sub test()
    Dim Rs As DAO.Recordset
    Dim Sql As String
    Dim i As Integer

    Sql = "create table test (f1 int constraint keydata Primary key,"
    Sql = Sql & "f2 text(20),f3 text(20),f4 text(20),f5 text(20),f6 text(20),"
    Sql = Sql & "f7 text(20),f8 text(20),f9 text(20),f10 text(20)) ;"
    CurrentDb.Execute Sql
    Set Rs = CurrentDb.OpenRecordset("TEST")
    For i = 0 to 20000
    Rs.AddNew
    Rs("f1").Value = i
    Rs("f2").Value = i * 100000
    Rs("f3").Value = i * 100000
    Rs("f4").Value = i * 100000
    Rs("f5").Value = i * 100000
    Rs("f6").Value = i * 100000
    Rs("f7").Value = i * 100000
    Rs("f8").Value = i * 100000
    Rs("f9").Value = i * 100000
    Rs("f10").Value = i * 100000
    Rs.Update
    Next i
    Rs.Close
    Set Rs = Nothing
    MsgBox ("Done!")
    End Sub
  3. データベース ウィンドウから手順 2. で作成した "TEST" テーブルを選択します。
  4. [挿入] メニューの [レポート] をクリックし、"オートレポート:単票形式" を選択、新しいレポート "TEST" を作成します。
  5. "TEST" レポートを開き、最終ページへ移動ボタンをクリックします。
  6. 手順 2. で作成した "TEST" テーブルを選択し、[挿入] メニューの [レポート] をクリックし、"オートレポート : 単票形式" を選択して、新しいレポート "TEST" を作成します。
  7. "TEST" レポートを開き、最終ページへの移動ボタンをクリックします。

結果

最終ページを表示するまでに時間がかかります。

同様の手順を Access 97 で実行した場合と比較すると、Access 2002 の場合、非常に時間がかかります。

また、Access 2003 および Access 2007 でも同様の現象が発生します。
プロパティ

文書番号:436906 - 最終更新日: 2016/10/04 - リビジョン: 1

Microsoft Access 2002 Standard Edition, Microsoft Office Access 2003, Microsoft Office Access 2007

フィードバック