Input message problem for Date textbox

S

shahzad4u_ksa

Dear Sir,

I have a userform with text box "DatePurchase" and other textboxes.
when I load my userform and when I entered the data it is working
fine,

the problem is this when I load the form for date entry and the form
is Empty and I want to close my form with close button (unload me)
command. it is showing pop up message (input message) "Input must be a
date in the format: 'dd/mmm/yyyy"

when I enter any date then press the close button then it closing.

Pls help me in this regard. I am using the following code.


Private Sub DatePurchase_exit(ByVal Cancel As MSForms.ReturnBoolean)

If Not IsDate(DatePurchase) Then
MsgBox "Input must be a date in the format: 'dd/mmm/yyyy'"
Cancel = True
Else
DatePurchase = Format(DatePurchase, "dd/mmm/yyyy")
End If
End Sub

waiting for response.

Regards
 
R

Rick Rothstein \(MVP - VB\)

Maybe change your If-Then statement to this...

If Not IsDate(DatePurchase) And Len(DatePurchase) > 0 Then

By the way, my personal preference is to *not* rely on default properties.
In my own code, I would always use DatePurchase.Text so I can tell I am
looking at the contents of a control and not a simple variable. While the
distinction is easy to keep straight when you are writing the code, in six
months or a year when you have to come back to maintain (modify) your code,
the distinction will be less clear. Oh, and if you work in a job with more
than one coder, and if they can be given the job to maintain your code down
the line... trust me, they will appreciate your specifically including the
property name also.

Rick
 
S

shahzad4u_ksa

Maybe change your If-Then statement to this...

If Not IsDate(DatePurchase) And Len(DatePurchase) > 0 Then

By the way, my personal preference is to *not* rely on default properties.
In my own code, I would always use DatePurchase.Text so I can tell I am
looking at the contents of a control and not a simple variable. While the
distinction is easy to keep straight when you are writing the code, in six
months or a year when you have to come back to maintain (modify) your code,
the distinction will be less clear. Oh, and if you work in a job with more
than one coder, and if they can be given the job to maintain your code down
the line... trust me, they will appreciate your specifically including the
property name also.

Rick














- Show quoted text -



Hi,

Thank you very much, I got the solution.

Regards

Shahzad
 
F

Flemming Jørgensen

But not quit for me!

The problem is that the focus is on a textbox and when the form is closed bu
pressing X-button (upperright corner) the Exit event is happening.

In the Exit event I have some code thats validate the entry - and if you
won't allow an empty field - you couldn't have a test saying "and
Len(DatePurchase) > 0"

Hope you can help me!

Regards,
Flemming
 
F

Flemming Jørgensen

Well - I should just look a bit further - then I figured it out.

The solution could be ...before the code in the exit-event - you put in
If CloseMode = vbFormControlMenu Then
Exit sub
end if

Well i'm still learning ;-)
 

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