Solved

MSAccess - Scroll wheel in a Memo field on a form

Posted on 2008-06-25
4
1,869 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

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

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…
Phishing attempts can come in all forms, shapes and sizes. No matter how familiar you think you are with them, always remember to take extra precaution when opening an email with attachments or links.
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…

840 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