Microsoft KB Archive/100134

= ACC: BeforeUpdate and AfterUpdate Field Properties Not Working =

Article ID: 100134

Article Last Modified on 1/18/2007

-

APPLIES TO


 * Microsoft Access 1.0 Standard Edition
 * Microsoft Access 1.1 Standard Edition
 * Microsoft Access 2.0 Standard Edition
 * Microsoft Access 95 Standard Edition
 * Microsoft Access 97 Standard Edition

-



This article was previously published under Q100134



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



SYMPTOMS
The macro or function attached to the BeforeUpdate or AfterUpdate property of a bound control does not run when expected.



CAUSE
The BeforeUpdate and AfterUpdate events of a bound control will not be triggered if the bound control was modified by a macro or by code.



RESOLUTION
You can work around this behavior by causing the macro or code that modifies the bound control to manually trigger the event pointed to by the BeforeUpdate or AfterUpdate property of the bound control.



STATUS
This behavior is by design.



Steps to Reproduce Behavior
 Open the sample database Northwind.mdb (or NWIND.MDB in Microsoft Access 2.0 or earlier).  Create the following macro called TestCityForNull:

    Macro Name       Condition        Action TestCityForNull IsNull([City])   MsgBox ...             CancelEvent

TestCityForNull Actions -    MsgBox: Message: City Is A Required Field!   Create the following macro called SetCityToNull:

      Macro Name      Action SetCityToNull  OpenForm SetValue

SetCityToNull Actions -      OpenForm Action: FormName: Customers View: Form

SetValue Action: Item:[Forms]![Customers]![City] Expression: Null  Open the Customers form in Design view and select the TestCityForNull macro in the City control's BeforeUpdate property.</li> Run the SetCityToNull macro. Note that it successfully blanks out the City field (you can press ESC twice to get it back). If the control's BeforeUpdate event had been triggered, the TestCityForNull macro would not have allowed the field to be blank.</li>  Try to blank out the City field manually. The TestCityForNull macro will be triggered, displaying the following message:

<pre class="fixed_text">     City Is A Required Field! </li> Do not save changes when you close the Customers form.</li></ol>

<div class="references_section">