2011-07-14 6 views
1

他のレポートの他のコントロールを参照するコントロールを含むいくつかのMS Access 2010レポートがあります。したがって、たとえば、は、テキストボックスがreport1_textBoxを呼び出した場合、このテキストボックスには、 report0_textBox呼ば report0上のテキストボックスから値を取得し、その後、私は report1_textBoxのコントロールソースプロパティを設定しますへ:MS Access:他のレポートを参照するレポート

= [Reports]![report0]![report0_textBox]

私は、ユーザーが開くようにレポートを選択するのに使用できるフォームを作成し、ユーザーが他のレポートに依存してレポートを選択したときに、私のコードは、それ自体を開く前に、これらのレポートを開きますレポートを選んだ。これはいくつかのインスタンスでうまく動作しますが、他のインスタンスでは私はいくつかの奇妙な動作を取得します。

上記の例に戻って、私は report0を開いた場合でも状況は、オープン、テキストボックス report1_textBox#エラーが report0が閉じたりしないされているかのようにディスプレイに遭遇します存在する。私はその後、ちょうど report0をクリックすると、そのビューを変更した場合しかし、その後、その後に戻って少しスクロールし、戻ってそれを変更し、適切な値にテキストボックス report1_textBox から「魔法」の変更#エラー 。レポートを開いた後に「すべてをリフレッシュする」ボタンを押すと、テキストボックスが更新されませんでした。

誰かがこれを修正する方法を知っていますか、それとも少なくとも回避していますか?

ありがとうございました!

を追加する:理想的には、私が今やっているように複数のレポートを開くことは望ましくありません。ユーザーがレポートを表示したい場合は、そのレポートを開くだけですが、選択したレポートに別のレポートのデータが必要な場合は、他のレポートを開く必要があります。これはVBAコードを記述して解決できますが、これは避けたいと思います。この理想的な状況を実現することができるかどうかを知っていますか?ありがとう!)

+1

デザインエラーがあります。レポートは別のレポートのデータに依存することはありません。他の方法でデータを取得します。 –

答えて

0

私はこのためにVBAコードを使うことをお勧めします。

あなたの質問には、実際には回答が含まれています - 別のレポートのデータが必要な場合は、を最初に開く必要があります。ただし、次のコードは多少役立つかもしれません。 あなたは隠されたとしてレポート(複数可)を開くことができます。

... 
DoCmd.OpenReport "report0", acViewReport, , , acHidden 
... 

をしかし、再び、私は他のレポートから既存のクエリのいずれかを使用してデータを取得したり、新しい[クエリ]を作成するために、VBAコードを記述することをお勧めします。

関連する問題