How do I disable Intellimouse wheel from within Access?

My database is having major problems when users try to use their wheel on their mouse to scroll. For example - they will open a combo-box and try to use the wheel to scroll on the combo box. Instead of scrolling the list - Access moves to the next record. I can't allow this to happen during edits - and it is REALLY causing headaches.

How can I disable the mouse so it has no affect at all?

I'm using Access 97
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

From the mouse icon in the Control panel choose the wheel tab.  You can control which options are on and off.

If anyone has a way of doing it in code I would love to see it as well.

First, make sure you have SR-2 installed.  It supposedly fixed some intellimouse booboos.  Next, see this page:

For some sample intellimouse code.  It doesn't seem to show how to "turn off" the intellimouse, but if no one can supply the exact code you might poke around in this sample and find the correct API to do what you want.

Here's some stuff from Microsoft regarding programming the intellimouse.  Sorry I don't have any specific solutions, but this seems to be a start:

The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

cekmanAuthor Commented:
abaldwin: Since I have over 200 users - I can't ask them all to turn off their wheel manually each time they want to use the database - so this won't work form me.

wesleystewart: I'll take a look at the page you suggested - it may take me a while to get back to you.

Thanks for your responses
I just hope you can find something useful.  It appears that intercepting mouse messages is going to require registering additional .ocx or .dll files on each machine.  Something I'm sure you want to avoid.

Hi, cekman.

In your form allow additions property put False.
It will prevent users goto new record.
If you need to add new records you should on click "NewRecord" button put this:
(For example you have Customers form and you want to add new customer)
1.Create new query that will append new record to the Customers table with parameters from the form (for example Date or Customer ID..).
2. Dim MyLastID as long

Currentdb.execute "QueryName"
MyLastID = DMax("CustID","Customers")

    Forms![CustomersForm].Filter = "CustID = " & MyLastID
    Forms![CustomersForm].FilterOn = True

Try it it is work.

You will do it for all form that you have users scrolling the mouse and get new records. Else you will get many empty records ( customers ).

Good Luck

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
cekmanAuthor Commented:
RRR - This may be the type of approach I have to take. In my case the form in question is used ONLY to add new records - but they are added 'one at a time' - so perhaps I can figure something out with the properties.

It may be a day or two before I can try any of these ideas - but will let you know what I find out.

cekmanAuthor Commented:
RRR: I'm awarding the points to you. I didn't end up using the ALLOWADDITIONS property, but this led me to a much simpler approach than trying to mess with the wheel itself.

In essence I created a boolean variable called SAVEOK. I set this field to true whenever the user did something that  meant they really could save/move off of the record.

If this field was false - the BeforeUpdate event got CANCELLED - preventing the user from leaving the record.

I have some more testing to do - but this approach seems to be working.

Thanks to everyon who gave input.
I know this topic is three years old, but I came here yesterday looking for a simple solution and found it elsewhere so I wanted to share it here.  Take a look at this knowledge base article:;en-us;308636

You can find a precompiled dll here:
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.