Access spellchecker - If no errors, no acknowledgement

I am using this piece of code in order to spell check an entry in an access form.

If Len(vardesc) > 0 Then
    DoCmd.RunCommand acCmdSpelling
    Else
    End If

Open in new window


It works perfectly.

However, every time it doesn't detect a spelling error, it acknowledges that the spell check is complete, making the user add another click to the process.

Is it possible to tell it to skip the acknowledgement? If there are no spelling errors, have it just move to the next step without telling the user that the spellcheck is complete?
MeginAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Nick67Commented:
Not that I know of -- and really, why would you want to do that?
You would be breaking the UI expectations of the users.
What you want confounds good UI design.
If you could suppress the complete click, how will the user tell the difference between spell-checked-without-error and not-spell-checked?  They wouldn't -- and that's bad design.

The command you are using invokes an external dialog and process.
You have no control over it.
And don't start thinking about SendKeys
SendKeys and Windows 7 are a very bad combination.
Use of SendKeys toggles NumLock on and off -- and that drives users batty.

Either accept the SpellChecker as it is, or go about coding your own.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
MeginAuthor Commented:
Okay. Good advice.

Thank you!

(I don't know anything about the SendKeys thing, so no worries there)
Nick67Commented:
SendKeys would let you use VBA to emulate a user at the keyboard, typing.
If everything went well, your keystrokes went where you wanted them to.
If other windows popped open, or up, then the keystrokes would go there.

from the Access 2003 help

SendKeys Statement Example
This example uses the Shell function to run the Calculator application included with Microsoft Windows. It uses the SendKeys statement to send keystrokes to add some numbers, and then quit the Calculator. (To see the example, paste it into a procedure, then run the procedure. Because AppActivate changes the focus to the Calculator application, you can't single step through the code.). On the Macintosh, use a Macintosh application that accepts keyboard input instead of the Windows Calculator.
Dim ReturnValue, I
ReturnValue = Shell("CALC.EXE", 1)    ' Run Calculator.
AppActivate ReturnValue     ' Activate the Calculator.
For I = 1 To 100    ' Set up counting loop.
    SendKeys I & "{+}", True    ' Send keystrokes to Calculator
Next I    ' to add each value of I.
SendKeys "=", True    ' Get grand total.
SendKeys "%{F4}", True    ' Send ALT+F4 to close Calculator.

Open in new window


With luck, you could use SendKeys on Access objects and modal dialog boxes to automate functions that were inaccessible from VBA -- but it was always a stick that was prone to breaking, so it shouldn't be leaned on.
And In Windows 7 it causes the NumLock toggle issue
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.