This works for me in Access XP. This works in Single Form, not Continuous
Forms.
HTH,
Debbie
Add a Text Box on your form:
Name = NoMouseWheel
Default Value = " "
Validation Rule = WheelSpin() = False
Validation Text = You can't change records using your mouse wheel. (this can
be left out if you don't want a message)
Visible = Yes
Enabled = Yes
Locked = No
Tab Stop = No
Back style = Transparent
Back Color = -2147483633 (or whatever color your form is)
Special Effect = Flat
Border style = Transparent
FORM EVENTS:
On Mouse Wheel: [Event Procedure]
----------------------------------------------------------------------------------
Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)
On Error GoTo GotError
mWheel = True
ValidationTrigger = TheWheel
Me.NoMouseWheel.SetFocus
Me.NoMouseWheel.Text = " "
ExitSub:
ValidationTrigger = NotTheWheel
Exit Sub
GotError:
MsgBox Err.Number & vbCrLf & Err.Description
Resume ExitSub
End Sub
----------------------------------------------------------------------------------
On Error: [Event Procedure]
----------------------------------------------------------------------------------
Private Sub Form_Error(DataErr As Integer, Response As Integer)
' MsgBox DataErr
If Screen.ActiveControl.Name = "NoMouseWheel" Then
Response = acDataErrContinue
End If
End Sub
----------------------------------------------------------------------------------
ADD THIS CODE BEHIND YOUR FORM:
----------------------------------------------------------------------------------
Option Compare Database
Option Explicit
'This Enum is for clarifying the code
Private Enum wsTrigger
TheWheel = 1
NotTheWheel = 2
End Enum
Private mWheel As Boolean
Private ValidationTrigger As wsTrigger
Private Function WheelSpin() As Integer
'used in NoMouseWheel text box on form
WheelSpin = mWheel
Select Case ValidationTrigger
Case NotTheWheel
mWheel = False
End Select
End Function
----------------------------------------------------------------------------------
FORM EVENTS:
Key Preview = Yes
On Key Down: [Event Procedure]
----------------------------------------------------------------------------------
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'Form's Key Preview set to Yes
If KeyCode = vbKeyPageUp Then KeyCode = 0
If KeyCode = vbKeyPageDown Then KeyCode = 0
End Sub
----------------------------------------------------------------------------------
| Hi,
| in access 2000, I've a form bound to a table, When I turn the mouse wheel,
| or type "PAGE DOWN" key the next record is displayed.
|
| How can I desactivate this layout? because I like to handle this by code.
|
| Thanks.
|
|