Access Spell Check

Posted on 2006-05-18
Last Modified: 2008-03-10

I have a client that wants to use spell check on all of their letters, memos, and anything else they send out of the office.  However, all my attempts to use Access's spell checker have failed because the queries behind the forms are NOT updatable.  I have been able to copy text into MS Word and check it there, but this process is to slow to implement.  Is there a work-around to get the spell checker to run, or some other solution that I haven't thought of?
Question by:MarkRod
    LVL 65

    Expert Comment

    would this help

    DoCmd.RunCommand acCmdSpelling

    you can use this on the event handlers (afterupdate eg) of a textbox

    LVL 65

    Expert Comment

    What I meant to say in terms of textbox

    Could you present your text as shown on a letter in a memo field of some sort, massive textbox
    then use the access spell checker there?

    u may need to perhaps place in temp table, update then have code to update original if u cant edit the query behind the form

    Author Comment


    Placing the text into a temp table has crossed my mind, but when I tried it I found you have to have the table open to run the spell check.  This is unacceptable because the users would see the table.  
    LVL 65

    Accepted Solution

    No, u can create a form which is bounded to the table

    You will need to generate some ID so when u load the form, u ensure the right record is loaded
    This form will load that record straight away and user will not be able to add or delete

    then on the afterupdate function of that textbox, u can perform a spellcheck

    LVL 58

    Assisted Solution

    Hello MarkRod

    You could create a small form with only a single large textbox (and OK/Cancel buttons). When your code needs to check the  spelling of any text, load that form, fill the unbound text box with whatever you want to check, select it and RunCommand acCmdSpelling. Proceed (the code stops during the spell check) with reading the text box content back and closing the pop-up form.

    Could be as simple as this:

    Global gstrSpelling As String

        gstrSpelling = "This migt contain an eror or two!"
        DoCmd.OpenForm "fmodSpellCheck", WindowMode:=acDialog
        MsgBox gstrSpelling

    The form's module contains just this (and the form's timerinterval is set to 1)

    Option Explicit

    Private Sub cmdCancel_Click()
        DoCmd.Close acForm, Me.Name
    End Sub

    Private Sub cmdOK_Click()
        gstrSpelling = Me.txtCheckSpelling
        DoCmd.Close acForm, Me.Name
    End Sub

    Private Sub Form_Load()
        txtCheckSpelling = gstrSpelling
    End Sub

    Private Sub Form_Timer()
        Me.TimerInterval = 0
        RunCommand acCmdSpelling
    End Sub

    You could get a little more fancy, as with a button "Spell Check" to check again after  a manual edit, etc, and also some code to detect the use of  "Cancel"...

    Good luck!

    Featured Post

    IT, Stop Being Called Into Every Meeting

    Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

    Join & Write a Comment

    Suggested Solutions

    Most if not all databases provide tools to filter data; even simple mail-merge programs might offer basic filtering capabilities. This is so important that, although Access has many built-in features to help the user in this task, developers often n…
    I see at least one EE question a week that pertains to using temporary tables in MS Access.  But surprisingly, I was unable to find a single article devoted solely to this topic. I don’t intend to describe all of the uses of temporary tables in t…
    Familiarize people with the process of utilizing SQL Server stored procedures 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 Micr…
    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…

    728 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

    Need Help in Real-Time?

    Connect with top rated Experts

    18 Experts available now in Live!

    Get 1:1 Help Now