ACC2: "Invalid Reference" Saving Record on Form with ButtonLast reviewed: July 11, 1997Article ID: Q123858 |
The information in this article applies to:
SYMPTOMSModerate: Requires basic macro, coding, and interoperability skills. When you try to save a record by choosing a command button on a form that runs a DoMenuItem action, you receive the following error message:
Invalid reference to field 'Form_BeforeUpdate' CAUSEThe Cancel argument is being set in the form's BeforeUpdate event procedure.
RESOLUTIONThere are two ways to work around this problem. The first method traps and handles the error, and the second cancels the event in a different manner.
Method 1You can work around the problem by trapping and handling the error message. When you execute the DoMenuItem action to save the record, trap for error 2465 and replace it with a more descriptive error message. For example, you could attach the following sample Access Basic code to the command button:
Sub Button1_Click () On Error GoTo Err_Button1_Click DoCmd DoMenuItem A_FORMBAR, A_FILE, A_SAVERECORD, , A_MENU_VER20 Exit_Button1_Click: Exit Sub Err_Button1_Click: Select Case Err Case 2465 MsgBox "Descriptive error message of your choice here" Case Else MsgBox Error$ End Select Resume Exit_Button1_Click End Sub Method 2In step 5 of the example in the "Steps to Reproduce Problem" section below, use
DoCmd CancelEventinstead of:
Cancel = True STATUSMicrosoft has confirmed this to be a problem in Microsoft Access version 2.0. This problem no longer occurs in Microsoft Access version 7.0.
MORE INFORMATIONThe problem described above usually results in the error message "Invalid reference to 'Form_BeforeUpdate'," but may also result in the error message "Invalid reference to field 'Button0_Click'." This problem can also occur if you call a macro instead of code in the BeforeUpdate property. The only method of saving a record that works as you expect is choosing Save Record from the File menu.
Steps to Reproduce Problem
|
Keywords : FmsProb kberrmsg kbusage
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |