ACC2000: GotoRecord Macro Action Behaves Unexpectedly (208605)
The information in this article applies to:
This article was previously published under Q208605 Moderate: Requires basic macro, coding, and interoperability skills.
SYMPTOMS
The GotoRecord macro action doesn't behave as you would expect when you use
it in an AutoKeys macro. Instead of changing the record of the active form,
it changes the record of a form in the background.
CAUSE
These symptoms occur when you use the GotoRecord action in an AutoKeys
macro while a form is open with a Timer event running.
RESOLUTIONMicrosoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.
To achieve the desired result of selecting the next or previous record on
the active form when you press a predefined key, follow these steps:
-
Create a module and type the following line in the Declarations section if it is not already there:
Option Explicit
- Type the following procedures:
Function GotoPreviousRecord()
On Error Goto GotoPreviousErrorHndlr
' Screen.ActiveForm.Name forces the GotoRecord action
' to be applied to the active form.
DoCmd.GoToRecord acForm, Screen.ActiveForm.Name, acPrevious
ExitGotoPreviousRecord:
Exit Function
GotoPreviousErrorHndlr:
MsgBox Error$
Resume ExitGotoPreviousRecord
End Function
Function GotoNextRecord()
On Error Goto GotoNextErrorHndlr
' Screen.ActiveForm.Name forces the GotoRecord action
' to be applied to the active form.
DoCmd.GoToRecord acForm, Screen.ActiveForm.Name, acNext
ExitGotoNextRecord:
Exit Function
GotoNextErrorHndlr:
MsgBox Error$
Resume ExitGotoNextRecord
End Function
-
Create an AutoKeys macro and assign each key stroke to the macro action RunCode. The Function Name argument of the RunCode action is the name of the custom function that you use. If you use the examples in step 2, it is either GotoPreviousRecord() or GotoNextRecord().
REFERENCESFor more information about AutoKeys, click Microsoft Access Help on the Help menu, type AutoKeys in the Office Assistant or the Answer Wizard, and then click Search to view the topic.
Modification Type: | Major | Last Reviewed: | 6/23/2005 |
---|
Keywords: | kbprb KB208605 |
---|
|