Solved

MSAccess - Scroll wheel in a Memo field on a form

Posted on 2008-06-25
4
1,851 Views
Last Modified: 2009-12-22
A user asked about the possibility of adding the capability to use the scroll wheel to scroll within a Memo field on a datasheet view/form view.

- On the Datasheet, the scroll wheel just scrolls thru the records.  I suppose I could disable the scroll wheel on the mouseover event of the memo field.

- On the form, scroll wheel does nothing in a Memo box.

I couldn't find a quick answer, but thought someone might have run into a similar request.

Any sugestions?

Thanks!

0
Comment
Question by:markp99
4 Comments
 
LVL 27

Accepted Solution

by:
jjafferr earned 500 total points
ID: 21866214
Access cannot turn off the mouse wheel control natively, you have to usea 3rd party tool like:
http://www.lebans.com/mousewheelonoff.htm

as far as scrolling through the memo field, I don't think it is possible,
but you can put the following code "On Double click" of the memo field:

    'zoom to see the rest of the data inside the textbox
    DoCmd.RunCommand acCmdZoomBox

this will open the memo field in a bigger window.

jaffer
0
 
LVL 4

Expert Comment

by:oldmanbim
ID: 22710130
Jaffer's right.

However, here is quick fix to this if you're not to particular about the "elegance" of your solution.  

You'll need to set the On Mouse Wheel event of your form to "[Event Procedure]"
Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)
    ' A multiplier for Count, which is how far to jump (jump = "scroll")
    ' A good estimate for this is 2x your text box width in inches
    Const DELTA As Integer = 8
    Dim NewPos As Long
 
    ' The tag "UseWheel" marks a control as scrollable
    If Screen.ActiveControl.Tag <> "UseWheel" Then Exit Sub
 
    ' Do the scroll
    With Screen.ActiveControl
        ' Make sure there is no selected text
        .SelLength = 0
 
        ' Get the new position
        NewPos = .SelStart + Count * DELTA
 
        ' Make sure it's not 0 and set SelStart
        If NewPos < 0 Then .SelStart = 0 Else .SelStart = NewPos
 
    End With
 
End Sub

Open in new window

0

Featured Post

Simplifying Server Workload Migrations

This use case outlines the migration challenges that organizations face and how the Acronis AnyData Engine supports physical-to-physical (P2P), physical-to-virtual (P2V), virtual to physical (V2P), and cross-virtual (V2V) migration scenarios to address these challenges.

Question has a verified solution.

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

When you are entering numbers in a speadsheet, and don't remember what 6×7 is, you just type “=6*7" instead. It works in every cell! This is not so in Access. To enter the elusive 42 in a text box, you have to find a calculator, and then copy the re…
In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

831 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