Mouse Wheel behavior on Continuous Forms

Posted on 2006-11-15
Last Modified: 2008-01-09
I have a continuous form in Access 2003 that does not have enough records to
fill the page. When scrolling up with the mouse wheel, the first record will
'disappear' and will not come back into view unless I reset the form or use
the up arrow on the what should be dormant vertical scrollbar.

I've read a few posts on this and they all come from one poster who states
that this is a bug and there is no work-around.

I'm hoping there is a fix or workaround...

Can anyone help?


Question by:crapo
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Expert Comment

ID: 17951776
Are you saying you want to stop the mouse wheel from scrolling through records, and instead stay on a single record?

If I'm understanding you correctly, as Microsoft would say, "That's a FEATURE, not a bug." There is a workaround to prevent the mouse wheel from scrolling through records that might work for you. It involves downloading and registering a DLL and a little code.

Take a look here:;en-us;278379

The KB article is for Access 2000, but I believe the fix still works. I have used it in Access XP with good results.

Author Comment

ID: 18021908
>>Are you saying you want to stop the mouse wheel from scrolling through records, and instead stay on a single record?<<

I appreciate your help, but it is not the same 'issue'.   The bug is an issue that hides the first record on continuous forms when the form is not full after using the mouse wheel.

I kind of solved it by adding this code:

Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)

    'scroll wheel control
    Dim intCurrent As Integer, rs As Recordset, strControl As String
    Set rs = Me.Recordset

    'get current record and current control
    intCurrent = Me.CurrentRecord
    If intCurrent > 1 Then intCurrent = intCurrent - 1
    strControl = Me.ActiveControl.Name
    'requery form
    'reset focus
    rs.Move (intCurrent)

End Sub

What it does is lock in the current record and control on the form, requery the form (which resets the bug) and finally set the focus back to the proper position.

Moderator: please close this question, as I found and posted a work-around to my question.


Expert Comment

ID: 18022372
I'm glad you got it solved. What seems like it "should be" in Access often isn't.

Expert Comment

ID: 18028748

A simpler work around might be to test if the recordset contains enough records to requires the scroll...if not, disable wheel...


Accepted Solution

DarthMod earned 0 total points
ID: 18357065
PAQed with points refunded (250)

Community Support Moderator

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Entering a date in Microsoft Access can be tricky. A typo can cause month and day to be shuffled, entering the day only causes an error, as does entering, say, day 31 in June. This article shows how an inputmask supported by code can help the user a…
Part One of the two-part Q&A series with MalwareTech.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
Starting up a Project

623 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question