Access Title Bar from VBA

I am attempting to update the Application title bar using vba to update the app title based on data in a table. It seems to lag behind and at times be completely wrong. The code is below.

The dlookup function checks a linked table to see if the field value of [isrunning] is true.
If it is, Access should display one title, if it's false another. The function is called whenever a form is opened and from an AUTOEXEC macro at startup.

Note: the startup macro seems to be  the only time it even partially works.
Public Function update_title_bar()
Dim db As Database, app_title As String
Set db = CurrentDb

If DLookup("isrunning", "tbl_base_status") = True Then
    app_title = "Client - Online"
    app_title = "Client****OFFLINE****"
End If

db.Properties("AppTitle").Value = app_title

End Function

Open in new window

Who is Participating?
Scott McDaniel (Microsoft Access MVP - EE MVE )Connect With a Mentor Infotrakker SoftwareCommented:
That should work. Here's an article that shows more detail, but in essence you calling RefreshTitleBar should work:

Where are you calling this?
JP_TechGroupAuthor Commented:
It runs from an AUTOEXEC macro at program open (which is the only time it works at all)
and from the on_form_load subs for about 8 forms. These do not work.
I concur, it should!
conagramanConnect With a Mentor Commented:
i dont know if this helps but i noticed one thing in your syntax. i dont think you can use dlookup in the way you are trying.
DLookup("isrunning", "tbl_base_status") = True

it wont return a true false statement instead it will return the first record in isrunning from the tbl_base_status. if the field should return the word true then put quotes around the = "true"

Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to and use offer code ‘EXPERTS’ to get 10% off your first purchase.

JP_TechGroupAuthor Commented:
Thanks for the response and you are correct. Unfortunately, this makes no difference.
The update is always "one behind".
By that, I mean that if the look up value changes, you have to close and re-open to see the new title.
This must be some kind of known issue. The code couldn't possibly simpler. A check of my lookup and logic using debug shows that this portion is working correctly.
you can try changing the code.

this worked for me. you will still need to put in the dlookup function but other than that this should work.

Dim aTitle
Dim db As Database
Set db = CurrentDb()
Dim NewTitle As String

NewTitle = nz(Me.Text5,"")
Set aTitle = db.CreateProperty("Apptitle", dbText, NewTitle)
On Error Resume Next
db.Properties.Append aTitle

db.Properties("AppTitle").Value = NewTitle
Call Application.RefreshTitleBar
JP_TechGroupAuthor Commented:
Still having the same problem. I have to close and re-open the database to get the change to work. This is maddening.
i dont see why. i tried your code and it worked the first time.
i would try compiling your code and trying it again.
JP_TechGroupAuthor Commented:
FOUND IT! Apparently the link to the form icon was changed to a non-existent location. Once I fixed this the title bar updates as it should... weird!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.