2

複数の用途に使用するレポートがありますが、クエリにレポートのすべてのフィールドが含まれていないことがあります。これが発生すると、レポートはポップアップ ウィンドウで欠落しているフィールド値を尋ねます。これらのウィンドウを非表示にして、デフォルトで "" または何も設定しないようにしたいと思います。

どうすればこれを行うことができますか?

4

1 に答える 1

1

現在表示されているエラーを抑制するのではなく、複数のレコード ソースを考慮してレポートを再構築することをお勧めします。これを行うにはいくつかの方法があります。

レポートについて詳しく知らずに多くの詳細を提供することは困難ですが、次の点を考慮することができます。

1) バインドされていないレポートを使用し、クエリのレコードセットに基づいて、必要に応じてフィールドに動的に入力します。データ ソースとして使用しているクエリに基づいて、入力されるフィールドを変えることができます。他のフィールドは空白のままにするか、非表示にすることができます。ただし、このデータベースを他のユーザーに配布したり、データベースをコンパイルして実行可能なバージョンにする必要がある場合は、問題が発生する可能性があります。

2) レポート オブジェクトを動的に作成または変更する VBA ルーチンを作成します。この場合、複数のレポート プロファイルに基づいて新しいレポート オブジェクト (およびその中のコントロール) を動的に作成します (既存のレポートを再作成する必要はありません)。制御位置、定義などを指定し、必要に応じて変更することができます。レポートによっては、すべてのフィールドを使用して最初からレポートを作成し、特定のレポートで使用していないフィールドに必要な手順を削除するだけで、これを行うのは非常に簡単な場合があります。

3) 1 つのクエリにバインドされたレポートを引き続き使用しますが、必要に応じてクエリ定義を変更して、必要に応じてフィールド値を削除し、VBA 内で SQL 文字列を動的に構築します。そのため、クエリには常にすべてのレポート フィールドが含まれますが、実際のデータを返す場合もあれば、"" などのダミーの結果を返す場合もあります。GROUP BY または WHERE 句を持つフィールドを変更することもできます。

それがお役に立てば幸いです-頑張ってください!

于 2013-02-28T18:48:35.343 に答える