ACC: SetValue Action Does Not Set Value for Page One of Report

ID: Q162537


The information in this article applies to:


SYMPTOMS

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

When you run a macro that carries out an OpenReport action, and then carries out a SetValue action that sets the value for controls on the report being opened, the controls on the first page of the report are not updated by the SetValue action.


CAUSE

The SetValue action was carried out after the report was opened. After the report is opened, it is too late to change the values for controls that appear on the first page. The SetValue action should be placed in a macro that is triggered from the Format event of the control's report section or the Activate event of the report.


RESOLUTION

Create a macro that contains the SetValue action and attach that macro to the Activate event of the report or the Format event of the control's report section. Then, the controls on the first page of the report will display the correct values.


MORE INFORMATION

The Activate event of the report occurs before the report's Format event. The Format event occurs when Microsoft Access determines which data belongs in a report section, but before the section is formatted for previewing or printing. Changes that affect the data that will be displayed in a report section should be placed in the Format event of that section or the Activate event of the report.

Steps to Reproduce Behavior


  1. Open the sample database NorthWind.mdb.


  2. Create a report using the AutoReport: Columnar Wizard based on the Categories table.


  3. Open the report in Design view and add an unbound textbox to the detail section. Change the Name property of this control to txtDate.


  4. In the detail section of the report, set the ForceNewPage property to After Section.


  5. Close the report and save it as rptSetValue.


  6. Create the following macro:
    
          Macro Name      Action
          --------------------------
          Test1           OpenReport
                          SetValue
    
          Test1 Actions
          -------------------------------------------
          OpenReport
             Report Name: rptSetValue
             View:        Preview
    
          SetValue
             Item:        Reports!rptSetValue!txtDate
             Expression:  Date() 


  7. Save the macro as Test1 and run it.

    Note that the report opens but the date does not appear in the unbound textbox (txtDate) on the first page. On subsequent pages the date is displayed in the text box as expected.



REFERENCES

For more information about the order of events in reports, search the Help Index for "order of events," and then "Find out when events occur," or ask the Microsoft Access 97 Office Assistant.


Keywords          : McrProb McrArg 
Version           : 7.0 97
Platform          : WINDOWS 
Issue type        : kbprb 

Last Reviewed: April 29, 1999