Question: In Microsoft Access 2003/XP/2000/97, how do I prevent the mouse wheel from scrolling through records in a form?
Answer: You'll have to download the following MouseWheel.dll file and copy it to each computer that you wish to prevent scrolling.
We recommend that you copy the MouseWheel.dll file to the following directory:
c:\Program Files\Microsoft Office\Office\
But you can copy this file to any directory that you wish. However, you should consistently copy this file to the same directory location on each computer.
Next, you'll need to register the file. This is particularly important if you are running Access 97. However, if you are running Access 2000 or higher, it is still a good idea to register the file.
To do this, open a Command Prompt. Type the following command and press enter:
cd /program files/microsoft office/office
This will change your prompt to point to the directory where you've saved the MouseWheel.dll file. Now, we want to register the file. Type the following command and press enter:
The following window should appear indicating that the MouseWheel.dll file was successfully registered.
Next, open your Access database and press Alt-F11. This will take you to the Visual Basic Editor.
Under the Tools menu, select References.
When the References window appears, click on the Browse button.
Find the MouseWheel.dll file that you saved to the computer. In this example, the MouseWheel.dll file can be found under c:\Program Files\Microsoft Office\Office\.
Click on the Open button.
Now when you return to the References window, the MouseWheel.dll file should appear with a checkmark to the left. Click on the OK button.
Open your Form in design view and go to the Visual Basic editor for the form. You can do this by clicking on the button to the right of the On Open event for the Form.
When the Choose Builder window appears, highlight Code Builder and click on the OK button.
When the Microsoft Visual Basic window appears, paste in the following code:
Option Compare Database Option Explicit Private WithEvents clsMouseWheel As MouseWheel.CMouseWheel Private Sub Form_Load() Set clsMouseWheel = New MouseWheel.CMouseWheel Set clsMouseWheel.Form = Me clsMouseWheel.SubClassHookForm End Sub Private Sub Form_Close() clsMouseWheel.SubClassUnHookForm Set clsMouseWheel.Form = Nothing Set clsMouseWheel = Nothing End Sub Private Sub clsMouseWheel_MouseWheel(Cancel As Integer) Cancel = True End Sub
The code should look as follows:
You can now close down the Microsoft Visual Basic editor. (save any changes, if prompted)
Save changes to your form. Now when you view your form and move the mouse wheel, the records should no longer scroll.