Home > Back-end >  Microsoft Access - Placeholder in Textbox VBA
Microsoft Access - Placeholder in Textbox VBA

Time:11-09

I have a login form. I have a username and password text box with a login and close button.

I would like:

  • Text saying "username" in the username and "password" in the pass field.
  • When clicked on the text disappears.
  • If clicked on and you focus on something else without typing anything, it will return back to the placeholder.

I tried this:

Private Sub Form_Load()
txt_username.Value = "Username"
txt_password.Value = "Password"
End Sub

Private Sub txt_username_Click()
If txt_username.Value = "Username" Then
txt_username.Value = ""
End If
End Sub

Private Sub txt_username_LostFocus()
If txt_username.Value = "" Then
txt_username.Value = "Username"
End If
End Sub

My only issue is when a change is made, IE you type something, then delete it, after you do something else the placeholder doesn't return. Typing breaks my code.

Please help. Tom

CodePudding user response:

You were close. Try using "GotFocus" instead of "Click":

Option Explicit

Private Sub Form_Load()
   txt_username.Text = "Username"
   txt_password.Text = "Password"
End Sub

Private Sub txt_username_GotFocus()
   If Trim(txt_username.Text) = "Username" Then
      txt_username.Text = ""
   End If
End Sub

Private Sub txt_username_LostFocus()
   If Trim(txt_username.Text) = "" Then
      txt_username.Text = "Username"
   End If
End Sub
  • Related