Solved

How should I make a label visible over a textbox when condition met?

Posted on 2004-05-02
10
719 Views
Last Modified: 2009-07-29
I have a form where I put a label with a message over a textbox. The idea is to have the label become visible and block out the textbox when a certain condition is met. Otherwise, the label is not visible and the record’s information in the textbox is visible.

The textbox is on a subform displaying data for records selected in the main form. The subroutine is working when I use a message box, but I like the idea of the label showing on top of the textbox so they are always together no matter where the user moves the window to and also so the user does not have to click a button to get rid of the MsgBox. The label is on top of the textbox just to alert the user that there are no records in the subform recordsource for the primary recordsource in the main form.

I placed the label on top of the textbox and made it invisible (format "on-top") and then turn on the visibility with a sub procedure. However, when the procedure runs it appears that the textbox has priority to be visible. I tried making the textbox invisible, but I get an error that the procedure cannot make the control invisible when it has the focus.

Any suggestions?
0
Comment
Question by:richardlh
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
  • 2
  • +1
10 Comments
 
LVL 27

Expert Comment

by:jjafferr
ID: 10971383
Hi richardlh,

make the Textbox invisible and the Lable visible,
me.Textbox.visible=false
me.Lable.visible=True

Hope this helps

Jaffer
0
 
LVL 27

Expert Comment

by:jjafferr
ID: 10971387
richardlh,
didn't see the last part,

try

me.Lable.setfocus
me.Textbox.visible=false
me.Lable.visible=True

jaffer
0
 
LVL 46

Expert Comment

by:tbsgadi
ID: 10971433
I think the best idea is to use conditional formatting then you don't need to use code at all.
When the condition is fulfilled have it that the text box is disabled & another textbox shows up (on the main form) with the message that you require.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 27

Expert Comment

by:jjafferr
ID: 10971461
tbsgadi
Conditional formating does not allow for visible/invisible

Yes you can use Conditional formating if you have a white background for example, so make your default text color as white, and when your condition is met, change the Font color to something else.

jaffer
0
 
LVL 46

Expert Comment

by:tbsgadi
ID: 10971491
That's exactly what I meant for the other textbox,but I wrote to disable the the original textbox (which it does do)
0
 
LVL 11

Accepted Solution

by:
Mighty_Silly earned 250 total points
ID: 10971851
Greetings all,

Hi Richard,

It is correct that you get the error IF the field you want to make invisible has the focus (the cursor is there).  And I don't think (mabbe I am wrong) that Labels cannot receive focus.

What I normally do is instead of using a Label I use an Unbound Textbox for this.  Make it invisible/Enabled/Locked by default.  Then my code do this in order:
-If condition is True and I want to display message:
  -make textbox Invisible = True
  -Setfocus to THIS textbox (Quasi-label)
  -make the REAL textbox Invisible = False
-Reverse the process for when condition is False so your REAL text box show again.

-Silly-
0
 
LVL 27

Expert Comment

by:jjafferr
ID: 10972079
You are right Mighty_Silly
you cannot set focus to a Label,
thus the focus should be set to the next Textbox

jaffer
0
 

Author Comment

by:richardlh
ID: 10972690
Ah yes, use an unbound textbox with a [= "Text goes here statement"] then shift the focus to the one made visible and the other textbox, make it invisible. I will try that and post the results. Thanks for the quick response. Back in a little while.

Have a great day :-), Richard
0
 

Author Comment

by:richardlh
ID: 10972892
Mighty Silly,

Converting the label to a textbox, seting the focus to it, and controling the visible property did the trick. Thanks a bunch and I hope to help others with their questions with Access and VBA as I gain more knowledge and experience.

Regards, Richard

0
 
LVL 11

Expert Comment

by:Mighty_Silly
ID: 10972950
You're very welcome Richard!  Glad I could help.

Sites like this have truly widen my knowledge in various topics, and I have no doubt I'll continue to learn from other Experts from this site.

By keeping an open mind I continue to learn various ways to achieve desired result, thus enabling me to select the "most suitable" solution for a particular situation.

Thanks for the Points award.

-Silly-
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
If you need a simple but flexible process for maintaining an audit trail of who created, edited, or deleted data from a table, or multiple tables, and you can do all of your work from within a form, this simple Audit Log will work for you.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…

695 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