I NEED TO BLOCK MOUSE WHEEL !!

A

ANGELICA

I CREATED AN ACCESS FORM FOR EACH CUSTOMER, WHICH WILL BE USED BY EVERYONE AT
THE OFFICE.WHEN WE USE THE MOUSE WHEEL TO BROWSE TRHOUGH THE CURRENT RECORD ,
IT ROLLS UP AND DOWN THE WHOLE DATABASE INSTEAD! WHICH MAKES IT SO INSECURE
AT THE MOMENT OF TYPING NEW INFO FOR AN EXISTING CUSTOMER. I NEED TO BLOCK
THE MOUSE WHEEL TO BE FUNCTIONAL ONLY IN THE RECORD ITSELF (SCROLL BAR)AS IT
WORKS IN THE DESIGN VIEW!
HELP PLEASE!!!
 
D

DebbieG

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
----------------------------------------------------------------------------------



|I CREATED AN ACCESS FORM FOR EACH CUSTOMER, WHICH WILL BE USED BY EVERYONE
AT
| THE OFFICE.WHEN WE USE THE MOUSE WHEEL TO BROWSE TRHOUGH THE CURRENT
RECORD ,
| IT ROLLS UP AND DOWN THE WHOLE DATABASE INSTEAD! WHICH MAKES IT SO
INSECURE
| AT THE MOMENT OF TYPING NEW INFO FOR AN EXISTING CUSTOMER. I NEED TO BLOCK
| THE MOUSE WHEEL TO BE FUNCTIONAL ONLY IN THE RECORD ITSELF (SCROLL BAR)AS
IT
| WORKS IN THE DESIGN VIEW!
| HELP PLEASE!!!
 
Top