Exit Field vs Exit Button......

R

roy_ware

Just hit a weird one here: I'm working with data validation on a form. The
first field on this for is a "must fill" and I check this with an event:

Private Sub txtName_Exit(ByVal Cancel As MSForms.ReturnBoolean)
if txtName.Value = "" then
error message stuff


When I hit the button to exit the screen, I expect to execute the following
code:

Private Sub ExitButton_Click()
Unload Me
MainMenu.Show
End Sub

But!!! If the cursor is positioned on the Name field, execution goes to the
txdtName_Exit routine before exiting!

I've been searching for an event to capture this and bypass the error
message, but have had no luck so far.

Suggestions?????
 
B

Bill Renaud

<<If the cursor is positioned on the Name field, execution goes to the
txdtName_Exit routine before exiting!>>

This is probably because the focus on the form is exiting the Name field to
go to the Exit button.

Maybe you could just move the code from the txtName_Exit routine to the
ExitButton_Click routine. Do you really need to check the value the moment
the user leaves the field to change something else. Maybe they are going to
come back and correct the Name field before finalizing their input anyway.
Or is the Name field required to be correct before other fields can be set
properly?
 
I

ISS6

Yes, this name field is required and the edit logic was built on the idea
that there was no point in continuing to other fields when the "#1" field was
incorrect.

I was hoping that there would be some control I could test within the name
edit routine to check if the even was triggered when the Exit button had been
pressed. That would greatly simplify things, but I haven't been able to find
the right condition.

I know it must be there - just out of the grasp of my feeble mind.......
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top