1

1ページに1か月のカレンダーと、特定の日に追加されたプロジェクトを表示するMSAccess2000レポートをコーディングしました。基になるレコードソースの唯一のデータは月のリストです。構造は、他のデータも読み込むOnPageイベントを介して作成されます。

このレポートを開くと、最初のページでページ上のイベントがトリガーされていないように見えることに気付きました。(これは、On Current for Accessフォームなど、ページが表示されているときではなく、ページがキャッシュされているときにレポートのOn Pageがアクティブ化されるという事実に起因します。)

レポートが表示されたときの回避策は、On Activateイベントを使用して、そのイベントが呼び出されていなくても、OnPageサブルーチンを強制的に実行することです。ただし、レポートがエクスポートされると、On Activateイベントはトリガーされず、エクスポートの最初のページは次の2つの形式のいずれかになります。1)レポートがAccessで開いていた場合(つまり、On Activateが以前にトリガーされた場合)、最初のページは次のようになります。表示された後のページまたは最後のページと同じですが、正しい月(基になるレコードソースから取得)を除きます。2)Accessでレポートが開かれなかった場合、最初のページにはレポートデザイン内の構造のみが含まれます。ビュー(つまり、たくさんの空のボックス)

私の最善の回避策は、(そうでなければ無意味な)表紙を強制して、最初のページに実行するコードを必要とするものが何も含まれていないことを確認することですが、これは理想からはほど遠いです。エクスポートの最初のページでコードを強制的に実行できますか?または、On Pageがどのように機能するかを誤解していて、コードを再構築する必要があるのではないでしょうか。(最後のページでOn Pageが2回実行されているように見えることにも気づきました)。

4

2 に答える 2

1

1 つのクエリ、複数のクエリ、または VBA でデータを作成し、新しいデータ ソースでレポートを開くように、コードを再構築することをお勧めします。まだ自宅に Access 2000 があるかもしれませんが、職場では 2003 と 2007 の両方をテストでき、両方のバージョンで、各ページが表示される前に OnPage イベントが発生しました。別の動作が発生している場合は、Access が、要求されていることを処理する方法がわからないためだと思います。

通常、説明しているようなレポートは逆に設計されます。レポートのデータソースにはすべてのプロジェクト情報が含まれます。表示しようとしているデータについて、そのすべてを含むクエリの作成を妨げているものはありますか?

于 2008-10-21T12:59:31.760 に答える
0

さまざまなセクション、特に詳細セクションのフォーマットイベントを検討しましたか?フォーマットまたは印刷は、レポートを操作するためのより一般的なイベントです。

于 2008-10-21T09:18:25.747 に答える