Group:  Microsoft Access ยป microsoft.public.access.modulesdaovba
Thread: How to validate data in a field?

DotNetBag
.NET Development Newsgroups

HTVi
TV Discussion Newsgroups

Our Hot Pick: Rising Antivirus 2006 - Certified by TUV & Checkmark! Get 10% discount by entering this coupon code: ONDISCOUNT10
Rising Antivirus 2006

How to validate data in a field?
Lavatress 08.09.2006 17:05:02
I created a form where the user has to enter data. For one of the fields, I
would like to validate their data entry. I want to create an error message,
if the user does not enter "PK" or "TR" into this field. However, with the
below code, when I type "TR" or "PK" into the field it gives me the error
message("You must enter PK or TR"). Can you tell me what is wrong with my
code?

If (Me.Division<>"TR" Or Me.Division <> "PK") Then
Docmd.CancelEvent
returnvalue=Msgbox("You must enter PK or TR", vbCritical, "Required")
Re: How to validate data in a field?
"Brendan Reynolds" <brenreyn[ at ]discussions.microsoft.com> 08.09.2006 19:17:13

Your rule tells VBA to display the message if the value is not equal to "PK"
*OR* if the value is not equal to "TR". In other words, the only way you
could not trigger the message would be to enter *both* "PK" *and* "TR",
which of course is not possible. Your test should be ...

If (Me.Division<>"TR" And Me.Division <> "PK") Then

Note 'And', not 'Or'.

Better still, though, if the user must enter one of a small list of fixed
values, use a combo box or an option group instead of a text box.

--
Brendan Reynolds
Access MVP


"Lavatress" <Lavatress[ at ]discussions.microsoft.com> wrote in message
news:20B26848-6AF7-43F3-A22E-76A6377C66FD[ at ]microsoft.com...
[Quoted Text]
>I created a form where the user has to enter data. For one of the fields,
>I
> would like to validate their data entry. I want to create an error
> message,
> if the user does not enter "PK" or "TR" into this field. However, with the
> below code, when I type "TR" or "PK" into the field it gives me the error
> message("You must enter PK or TR"). Can you tell me what is wrong with my
> code?
>
> If (Me.Division<>"TR" Or Me.Division <> "PK") Then
> Docmd.CancelEvent
> returnvalue=Msgbox("You must enter PK or TR", vbCritical, "Required")


Re: How to validate data in a field?
Marshall Barton <marshbarton[ at ]wowway.com> 08.09.2006 23:48:41
Lavatress wrote:

[Quoted Text]
>I created a form where the user has to enter data. For one of the fields, I
>would like to validate their data entry. I want to create an error message,
>if the user does not enter "PK" or "TR" into this field. However, with the
>below code, when I type "TR" or "PK" into the field it gives me the error
>message("You must enter PK or TR"). Can you tell me what is wrong with my
>code?
>
>If (Me.Division<>"TR" Or Me.Division <> "PK") Then
>Docmd.CancelEvent
>returnvalue=Msgbox("You must enter PK or TR", vbCritical, "Required")


Change the OR to AND.

This is best done in the form's BeforeUpdate event, ehich
also has a Cancel argument. Setting Cancel = True
is more direct than using the CancelEvent method.

When you have no use for a function's return value. call it
as if it were a Sub procedure. The MsgBox line can be
written:

Msgbox "You must enter PK or TR", vbCritical, "Required"

--
Marsh
MVP [MS Access]
Re: How to validate data in a field?
"David Cox" <davidfcox[ at ]ntlworld.com> 08.09.2006 23:52:17
You have commanded it to display the error if the field is not "PK" or "not
"TR".

If it is "PK" then it is not "TR" so you get the message
if it is "TR" then it is not "PK" so you get the message

you want the message if it is not "PK" and not "TR",

try again. You know you can do it.


"Lavatress" <Lavatress[ at ]discussions.microsoft.com> wrote in message
news:20B26848-6AF7-43F3-A22E-76A6377C66FD[ at ]microsoft.com...
[Quoted Text]
>I created a form where the user has to enter data. For one of the fields,
>I
> would like to validate their data entry. I want to create an error
> message,
> if the user does not enter "PK" or "TR" into this field. However, with the
> below code, when I type "TR" or "PK" into the field it gives me the error
> message("You must enter PK or TR"). Can you tell me what is wrong with my
> code?
>
> If (Me.Division<>"TR" Or Me.Division <> "PK") Then
> Docmd.CancelEvent
> returnvalue=Msgbox("You must enter PK or TR", vbCritical, "Required")


Home | Search | Terms | Imprint | Contact
Newsgroups Reader - provided by WiredBox.Net