ACC2: How to Disable PAGE UP and PAGE DOWN Keys in a Form (114506)
The information in this article applies to:
This article was previously published under Q114506 SUMMARY
Moderate: Requires basic macro, coding, and interoperability skills.
This article describes the following two methods that you can use to
disable the PAGE UP and PAGE DOWN keys in a form:
- Open the form as a Dialog form using the OpenForm macro action.
-or-
- Trap the PAGE UP and PAGE DOWN keys in the KeyDown event.
MORE INFORMATIONMethod 1: Opening the Form as Dialog Using the OpenForm Macro Action
The PAGE UP and PAGE DOWN keys will be inoperative in a form if the form is
opened using an OpenForm macro action with the Window Mode argument set to
Dialog. To demonstrate this technique, create and run a new macro with the
following actions in the sample database NWIND.MDB.
OpenForm
Form Name: Customers
Filter Name: <leave empty>
Where Condition: <leave empty>
View: Form
Data Mode: Edit
Window Mode: Dialog
The drawback to this technique is that a Dialog form cannot use a custom
menu, nor will you be able to switch to another form while the Dialog form
is open.
NOTE: The Microsoft Access Wizards use this technique to limit navigation
in multiple-page forms.
Method 2: Trapping PAGE UP and PAGE DOWN in the KeyDown Event
The PAGE UP and PAGE DOWN keys can be detected and trapped in a control by
adding the following lines of Access Basic code to the KeyDown event for
all the controls on a form where the PAGE UP and PAGE DOWN keys should be
disabled:
If KeyCode = KEY_PRIOR Or KeyCode = KEY_NEXT Then
KeyCode = 0
End If
NOTE: The constants for KeyCode are defined in the CONSTANT.TXT file, which
is included with Microsoft Access. To use these constants in your code, you
must either declare them yourself or copy them from the CONSTANT.TXT file
and paste them into the Declarations section of your module.
The following example demonstrates how to detect and trap the PAGE UP and
PAGE DOWN keys in a control's KeyDown event.
CAUTION: Following the steps in this example will modify the sample
database NWIND.MDB. You may want to back up the NWIND.MDB file, or
perform these steps on a copy of the NWIND database.
- Open the Customers form in Design view.
- Create an event procedure with the following code for the KeyDown
event for each control on the form:
If KeyCode = KEY_PRIOR Or KeyCode = KEY_NEXT Then
KeyCode = 0
End If
NOTE: To create each event procedure, select a control, click the Build
button to the right of the OnKeyDown property, and then select Code
Builder.
For example, the event procedure code for the Customer ID field will
look as follows:
Sub Customer_ID_KeyDown (KeyCode As Integer, Shift As Integer)
If KeyCode = KEY_PRIOR Or KeyCode = KEY_NEXT Then
KeyCode = 0
End If
End Sub
- Close the module and then switch the form to Form view.
NOTE: Microsoft Access for Windows 95 introduces the new KeyPreview
property that enables you to easily trap and disable keys in the form level
key events. If the KeyPreview property is set to True, the following code
will disable the ESC, PAGE UP, PAGE DOWN keys for the entire form:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 27, 34, 33
KeyCode = 0
End Select
End Sub
REFERENCES
For more information about disabling PAGE UP and PAGE DOWN in Microsoft
Access 95 and 97, please see the following article in the Microsoft
Knowledge Base:
132031 ACC: How to Disable PAGE UP and PAGE DOWN Keys in a Form
(95/97)
For more information about Dialog forms, search for "OpenForm," and then
"OpenForm Action" using the Microsoft Access Help menu.
For more information about the KeyDown event, search for "KeyDown," and
then "KeyDown, KeyUp Events" using the Microsoft Access Help menu.
Modification Type: | Major | Last Reviewed: | 11/6/2000 |
---|
Keywords: | kbhowto kbusage KB114506 |
---|
|