A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Access » Running & Setting Up Queries
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

Query error



 
 
Thread Tools Display Modes
  #1  
Old February 16th, 2007, 02:16 AM posted to microsoft.public.access.queries
Doc Rock
external usenet poster
 
Posts: 7
Default Query error

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"
  #2  
Old February 16th, 2007, 12:30 PM posted to microsoft.public.access.queries
John Spencer
external usenet poster
 
Posts: 7,815
Default Query error

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/Ac...nceErrors.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" wrote in message
. ..
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"



 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 05:41 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.