Query error

D

Doc Rock

I just started getting a query error when I run the following query. It
states the expression is typed incorrectly or is too complex to be
evaluated. The problem is in the year([DOSF]) as there is no error if I
eliminate it.
It used to work. The DOSF field is a string representing the date as
"MM-DD-YYYY". Should I use Right([DOSF],4) instead, with some quotes?

Thanks for any help


SELECT [Arhist].[DOSF], [Arhist].[DOP], [Arhist].[PAYTYPE],
[Arhist].[LINE], [PATIENT].[LNAME], [PATIENT].[FNAME], [Arhist].[INSUR],
[Arhist].[CPT], [Arhist].[PATID]
FROM Arhist INNER JOIN PATIENT ON [Arhist].[PATID]=[PATIENT].[IDNUM]
WHERE ((([Arhist].[PAYTYPE])="" Or ([Arhist].[PAYTYPE])="D") And
(([Arhist].[PATID])=[Pat ID]) And ((Year([DOSF]))=2007) And
(([Arhist].[OFFICE])="PT"))
ORDER BY [Arhist].[DOSF], [Arhist].[DOP], [Arhist].[PAYTYPE];


Doc Rock
Please reply to forum or remove "at"
 
J

John Spencer

Is it possible that DOSF is null at times or that it contains a value that
can't be interpreted as a date?

You might try
IIF(IsDate([DOSF]),Year(DOSF[]),Null) = 2007

Here are MVP Doug Steele's instructions for how to do it:

*** Quote ***

Any time functions that previously worked suddenly don't, the first thing to
suspect is a references problem.

This can be caused by differences in either the location or file version of
certain files between the machine where the application was developed, and
where it's being run (or the file missing completely from the target
machine). Also, such differences are common when new software is installed.

On the machine(s) where it's not working, open any code module (or open the
Debug Window, using Ctrl-G, provided you haven't selected the "keep debug
window on top" option). Select Tools | References from the menu bar. Examine
all of the selected references.

If any of the selected references have "MISSING:" in front of them, unselect
them, and back out of the dialog. If you really need the reference(s) you
just unselected (you can tell by doing a Compile All Modules), go back in
and reselect them.

If none have "MISSING:", select an additional reference at random, back out
of the dialog, then go back in and unselect the reference you just added. If
that doesn't solve the problem, try to unselect as many of the selected
references as you can (Access may not let you unselect them all), back out
of the dialog, then go back in and reselect the references you just
unselected. (NOTE: write down what the references are before you delete
them, because they'll be in a different order when you go back in)

For far more than you could ever want to know about this problem, check out
http://www.accessmvp.com/djsteele/AccessReferenceErrors.html

Just so you know: the problem will occur even if the library that contains
the specific function that's failing doesn't have a problem.

**** End Quote ****

--
John Spencer
Access MVP 2002-2005, 2007
Center for Health Program Development and Management
University of Maryland Baltimore County
..

Doc Rock said:
I just started getting a query error when I run the following query. It
states the expression is typed incorrectly or is too complex to be
evaluated. The problem is in the year([DOSF]) as there is no error if I
eliminate it.
It used to work. The DOSF field is a string representing the date as
"MM-DD-YYYY". Should I use Right([DOSF],4) instead, with some quotes?

Thanks for any help


SELECT [Arhist].[DOSF], [Arhist].[DOP], [Arhist].[PAYTYPE],
[Arhist].[LINE], [PATIENT].[LNAME], [PATIENT].[FNAME], [Arhist].[INSUR],
[Arhist].[CPT], [Arhist].[PATID]
FROM Arhist INNER JOIN PATIENT ON [Arhist].[PATID]=[PATIENT].[IDNUM]
WHERE ((([Arhist].[PAYTYPE])="" Or ([Arhist].[PAYTYPE])="D") And
(([Arhist].[PATID])=[Pat ID]) And ((Year([DOSF]))=2007) And
(([Arhist].[OFFICE])="PT"))
ORDER BY [Arhist].[DOSF], [Arhist].[DOP], [Arhist].[PAYTYPE];


Doc Rock
Please reply to forum or remove "at"
 

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