开发者

MS Access: Reports referencing other reports

I have several MS Access 2010 Reports that contain controls that reference other controls on other Reports. So, for example, if report1 has a text box called report1_textBox, and this text box gets its value from a text box on report0 called report0_textBox, then I set the Control Source property of report1_textBox to:

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

I created a Form that the user can use to select Reports to open, and when the user selects a Report that depends on other Reports, my code opens those Reports before opening the selected Repo开发者_JAVA技巧rt. This works fine in some instances, but in other instances I get some strange behavior.

Going back to the example above, I encounter situations where even if I open report0, then open report1, the text box report1_textBox displays #Error as if report0 is closed or does not exist. But if I then just click on report0 and change its view then change it back, then go back to report1 and scroll a little, the text box report1_textBox "magically" changes from #Error to the proper value. I tried hitting the "Refresh All" button after opening the reports, and it does not update the text box.

Does anyone know of a way to fix this or at least work around it?

Thank you!

(Adding: Ideally, I do not want to open multiple reports like I'm doing now. If the user wants to view a report, I would like to only open that report, but from what I understand, if the selected report needs data from another report, that other report needs to be open. I can ultimately solve this by writing VBA code to execute queries, but I would like to avoid this, especially since I already have the data I need - it's just on another report. Does anyone know if it is possible to realize this ideal situation? Thanks!)


I would suggest going with VBA code for this.

Your question, actually, contains an answer (partial) - if you need data from another report that report must be opened first. However, the following code might help you somewhat. You can open report(s) as hidden:

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

But again, I would recommend to write VBA code to pull the data using either existing queries from other reports or create new ones [queries].

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜