Microsoft KB Archive/207864

= ACC2000: SetValue Action Does Not Set the Value for Page One of a Report =

Article ID: 207864

Article Last Modified on 6/24/2004

-

APPLIES TO


 * Microsoft Access 2000 Standard Edition

-



This article was previously published under Q207864



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

This article applies to a Microsoft Access database (.mdb) and to a Microsoft Access project (.adp).



SYMPTOMS
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 is carried out after the report is 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 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 is 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
CAUTION: If you follow the steps in this example, you modify the sample database Northwind.mdb. You may want to back up the Northwind.mdb file and follow these steps on a copy of the database.

 Start Microsoft Access, and then open the sample database Northwind.mdb or the sample project NorthwindCS.adp. Create a report using the AutoReport: Columnar Wizard based on the Categories table. Open the report in Design view and add an unbound textbox to the Detail section. Change the Name property of this control to txtDate . In the Detail section of the report, set the ForceNewPage property to After Section. Close the report and save it as rptSetValue.</li>  Create the following macro: <pre class="fixed_text">  Actions      Action Arguments ---  OpenReport   Report Name: rptSetValue View: Print Preview SetValue    Item: Reports!rptSetValue!txtDate Expression: Date </li> Save the macro as Test1, and then 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.</li></ol>

<div class="references_section">