DLookup will return a Null value if it doesn't find any match, and a Null
value can only be assigned to a Variant, not a String. You could either
change temp to be a Variant and check it using IsNull(), or you could wrap
the DLookup in an NZ(). See IsNull Function and NZ Function in the help file
for details.
--
Brendan Reynolds (MVP)
http://brenreyn.blogspot.com
The spammers and script-kiddies have succeeded in making it impossible for
me to use a real e-mail address in public newsgroups. E-mail replies to
this post will be deleted without being read. Any e-mail claiming to be
from brenreyn at indigo dot ie that is not digitally signed by me with a
GlobalSign digital certificate is a forgery and should be deleted without
being read. Follow-up questions should in general be posted to the
newsgroup, but if you have a good reason to send me e-mail, you'll find
a useable e-mail address at the URL above.
"Playa" <(E-Mail Removed)> wrote in message
news:704BCEF2-07FD-4A91-AB52-(E-Mail Removed)...
> When I try to look for a duplicate value in a record I keep getting the
> following error....
>
> Run-time error '3464'
>
> Data type Mismatch in criteria expression
>
> here is the code I am using when I get the error....
>
> Dim temp As String
>
> Me.DrawingNum.SetFocus
> temp = DLookup("[DrawingNum]", "tbl_DrawingsAndData", _
> "[DrawingNum]=" &
> Me.DrawingNum.Text)
>
> Me.DrawingNum.SetFocus
> If Me.DrawingNum.Text = temp Then
> MsgBox "This Drawing Control Already Exists, Please See View Drawing
> Controls"
> Exit Sub
> End If
>
>
>