ACC: How to Set Subreport's RecordSource Property at Run Time

Last reviewed: August 29, 1997
Article ID: Q129465
The information in this article applies to:
  • Microsoft Access versions 2.0, 7.0, 97

SUMMARY

Moderate: Requires basic macro, coding, and interoperability skills.

This article describes how you can use Visual Basic for Applications code to ensure that a linked subreports's RecordSource property is set the first time the subreport's Open event is triggered and not when it is triggered thereafter.

You can set a subreport's RecordSource property at run time only from the subreport's OnOpen property. At all other times, this property cannot be modified (the property is Read-Only). But because a linked subreport triggers the Open event multiple times, you must ensure that the RecordSource property is set only once -- the first time the Open event is triggered.

This article assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about Visual Basic for Applications, please refer to your version of the "Building Applications with Microsoft Access" manual.

NOTE: Visual Basic for Applications is called Access Basic in Microsoft Access version 2.0. For more information about Access Basic, please refer to the "Building Applications" manual.

MORE INFORMATION

You can use the following sample Visual Basic code in the subreport's OnOpen event procedure to set the RecordSource property the first time the Open event is triggered and not thereafter:

   Static CallCount As Long
      If CallCount = 0 Then Me.RecordSource = "MyCustomRecordSource"
      CallCount=CallCount+1

The Visual Basic code checks the value of the static variable CallCount. If CallCount is zero, then this is the first time the Open event is triggered, so the code sets the RecordSource property. Subsequent calls to the Open event will have a value of CallCount greater than zero.

REFERENCES

For more information about setting report properties at run time, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q114510
   TITLE     : ACC: Limitations on Setting Report Properties at Run Time
Keywords          : kbusage RptEvent
Version           : 2.0 7.0 97
Platform          : WINDOWS
Hardware          : x86
Issue type        : kbhowto


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: August 29, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.