Version 1.5                 First Published 15 Oct 2022                 Last Updated 20 Jan 2024                 Difficulty Level :   Easy

Section Links :
      Control Tip Text
      Status Bar Text
      Control Help Caption
      User Prompt Text
      Audio Help (Text to Speech)

Adding control help text can assist users understand how to use Access forms. There are five common methods that can be used.
This article explains each approach and summarises the advantages and disadvantages of each method

The attached example app demonstrates each method using 2 forms


1.   Control Tip Text                                                                                                                               Return To Top

      The control tip property is set in design view using the property sheet.


      The control tip text appears next to the control shortly after moving the mouse over an item

      a)   The default value of ControlTipText is an empty string. This means no tip is shown for that control.
      b)   There is a small but noticeable delay before the control tip appears. If the mouse is moved away in that time, no control tip text is seen.
      c)   The control tip is not shown at all if there is another hidden control on top of the control concerned. This can be frustrating for end users
      d)   No code is required to create control tips. You can create the same effect using code similar to this . . .but there is no advantage in doing so.

Private Sub DOB_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
      Me.DOB.ControlTipText = Enter the date of birth in the format DD/MM/YYYY"
End Sub

2.   Status Bar Text                                                                                                                               Return To Top

      The status bar property can also be set in form design view using the property sheet.

      The text appears immediately but only when an item is clicked.
      The text also remains in place after moving away from that control which may confuse end users

      There is a better approach which allows status bar text to appear on a mouse move event and disappear after moving away from the control.

      First add the StatusBar function below to a standard module

Public Sub StatusBar(Optional msg As Variant)
On Error GoTo ErrHandler
      Dim temp As Variant
      ' if the Msg variable is omitted or is empty, return the control of the status bar to Access
      If Not IsMissing(msg) Then
            If msg <> "" Then
                  temp = SysCmd(acSysCmdSetStatus, msg)
                  temp = SysCmd(acSysCmdClearStatus)
            End If
            temp = SysCmd(acSysCmdClearStatus)
      End If
      Exit Sub
      MsgBox "Error " & Err.Number & " in StatusBar procedure : " & Err.description
      Resume ExitHandler
End Sub

      Next add code like this to the mouse move event of each control:

Private Sub Gender_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
      StatusBar "Select the gender using the dropdown list"
End Sub

      You should also add code to clear the status bar text as follows:

Private Sub Detail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
End Sub

      However, like control tip text, status bar text is also small. It may also be far away from the control and easily be overlooked.


3.   Control Help Caption                                                                                                                         Return To Top

      This approach is designed to deal with the issues of the previous two methods

      Help text is shown as a single label caption on the form. A large brightly coloured font can be used to make the text stand out.
      A mouse move event is again used and the caption appears immediately.

      Help text can be applied on the form Detail_MouseMove event to guide users how to get additional info for each control

      A typical help caption for a form control may look similar to this

      The code used in the above screenshot is very simple:

Private Sub Gender_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

      Dim strText As String
      strText = "Select the gender from the dropdown list"
      Me.lblInfo.Caption = strText

End Sub

      Using a large colourful font, means the help text is more obvious to all users, including those with poor eyesight

      However this also means the label can take up a lot of space on a form

4.   User Prompt Text                                                                                                                               Return To Top

      This approach is designed to guide users prior to completing a new record

      In this case, help text is shown on each control . . . similar to that used on many web forms

      The help text is often shown in a light grey font and disappears automatically when data is entered in the control

      No code is needed to create this effect. It is achieved using the format property of the control. For example :


      The textbox format property consists of two parts: [Black]@; 'Enter Last Name'
      a)   The first part sets the text colour = black once data has been entered
      b)   The second part provides the user prompt 'Enter Last Name' when the field is empty (null)
      c)   The default font colour is set to grey for when the user prompt text is shown

      For more details on control formatting, see my article: Add colour to queries, listboxes & combo boxes

      This approach can work well in conjunction with method 3, Control Help Caption

      UPDATE 25 Mar 2023
      This is in response to a question by Ernie H on my YouTube video web page.
      It is also possible to move the mouse over a subform control, and display the help text on the main form.
      I have now added this functionality to the example app


5.   Audio Help (Text to Speech)                                                                                                             Return To Top

      In order to use text to speech (TTS), you first need to add a reference to the Microsoft Speech Object Library

      There are two references with the same name
      For this purpose, use the older reference located in C:\Windows\System32\Speech\Common\sapi.dll as shown above

      To enable TTS, tick the checkbox on the form below

      This sets the value of EnableTTS = Yes in the table tblSettings which sets the function IsTTSEnabled = True

      The help text will then be read aloud in the default voice for your computer

Private Sub FirstName_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

On Error Resume Next

      Dim voc As SpeechLib.SpVoice
      Set voc = New SpVoice
      Set voc.Voice = voc.GetVoices.Item(0)     'use the default voice

      strText = "Enter the first name"

      If IsTTSEnabled Then voc.Speak strText, 0

End Sub

      Using text to speech for audio help is particularly useful for users with vision problems
      However for other users, it may quickly become irritating and it is sensible to allow users to opt in/out of using audio help
      In an open plan office, enabling sound necessitates most users needing to wear headphones

      For more information on using text to speech with your apps, see these articles elsewhere on this website:
            Text to Speech
            Translate & Speak

Download                                                                                                                                           Return To Top

      Click to download the example app:   Control Help Text_v1.5     0.8 MB (zipped)

Video                                                                                                                                                 Return To Top

      I have created a short video demonstrating each method of providing form control help together with the advantages and diadvantages of each method.

      The video is available on my YouTube channel at or you can click below:


Feedback                                                                                                                                           Return To Top

      Please use the contact form below to let me know whether you found this article interesting/useful or if you have any questions/comments.

      Please also consider making a donation towards the costs of maintaining this website. Thank you

Colin Riddington                 Mendip Data Systems                 Last Updated 20 Jan 2024

Return to Access Articles

Return to Top