Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 542
  • Last Modified:

Mouse Wheel behavior on Continuous Forms

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?

Thanks,

Scott
 
0
crapo
Asked:
crapo
1 Solution
 
jay_s5Commented:
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:

http://support.microsoft.com/default.aspx?scid=kb;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.
0
 
crapoAuthor Commented:
>>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
    Me.Requery
   
    'reset focus
    Me.Controls(strControl).SetFocus
    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.

Thanks.
0
 
jay_s5Commented:
I'm glad you got it solved. What seems like it "should be" in Access often isn't.
0
 
Jillyn_DCommented:
Scott,

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

~Jillyn
0
 
DarthModCommented:
PAQed with points refunded (250)

DarthMod
Community Support Moderator
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now