[AccessD] Why doesn't this work?

Arthur Fuller fuller.artful at gmail.com
Sun Jul 22 13:49:25 CDT 2007


Exactly what I was attempting to say, but you did it better, Drew.

A.

On 7/22/07, Drew Wutka <DWUTKA at marlow.com> wrote:
>
> The problem is that IIF returns a value, and >1 isn't a value.  So when
> the statement is true, ServOption() is returning a value that is being
> used as a criteria.
>
> Ie, ServOption() returns 3 then the WHERE clause looks like this:
>
> WHERE YourField=3
>
> When it returns 0, your getting
>
> WHERE YourField=">1"
>
> And nothing will fit that criteria.
>
> There's two ways you can fix this.  One, change your query to this:
>
> SELECT Table1.SomeNumber
> FROM Table1
> WHERE SomeNumber Like IIf(ServOption()=0,"*",ServOption())
>
> The other option is to have ServOption actually check the field for you.
> The above solution is probably best if ServOption only returns one
> value, but if you want ServOption to return more then one value, the
> next option would work better.  Change ServOption to accept the field as
> an argument, and have it return true or false:
>
> SELECT Table1.SomeNumber
> FROM Table1
> WHERE ServOption([SomeNumber])=True
>
> Drew
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Robert
> Sent: Sunday, July 22, 2007 1:27 PM
> To: 'Access Developers discussion and problem solving'
> Subject: Re: [AccessD] Why doesn't this work?
>
> Arthur,
> Ok let me try and clear some things up... :-)
>
> IIf(ServOption()=0,>1,ServOption()) is in the criteria area of the saved
> query it's in.  The query is a simple select query that returns records
> of
> past services.
>
> "ServOption()" returns the type of service rendered, (a long value,
> representing of the type of service and it's value can be from 2 to
> whatever.) which the user selected on a form.
>
> There is an option to show all service types or a selected type. The
> selected type works perfectly, but when I need to display all (i.e. >1)
> the
> query displays no records. If I hard code >1 it works fine, showing all
> records...
>
>
> The service type field in the query is numeric..
>
>
> Clear as mud eh... :-)
>
>
> WBR
> Robert
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller
> Sent: Sunday, July 22, 2007 2:07 PM
> To: Access Developers discussion and problem solving
> Subject: Re: [AccessD] Why doesn't this work?
>
> Just a wag, but that query makes no sense to me. This could be the
> absence
> of information, of course, but what you wrote appears non-logical. Maybe
> you
> mis-typed, but given what you supplied and breaking it down, I end up
> with
> this:
>
> IIf(
>     ServOption()=0,
>     >1,
>     ServOption()
> )
>
> Perhaps that was one accidental keystroke (the ">") -- that's the part
> that
> makes no sense IMO.
>
> If ServOption() is a static function, then something like this might
> possibly work:
>
> (Assume ServOption() currently returns either zero or three, just to
> choose
> some value)
>
> SELECT * FROM mytables
> WHERE ServeOption() = 0
> OR <whatever serveoption refers to> = ServeOption()
>
> Only one of these ORs can exist so I think that covers the bases. I
> could be
> more specific if I knew exactly what criteria ServeOption() was testing,
> but
> that's the general idea.
>
> hth,
> Arthur
>
> On 7/22/07, Robert <robert at servicexp.com> wrote:
> >
> >
> > IIf(ServOption()=0,>1,ServOption())
> >
> > This is the criteria in a query.
> >
> > ServOption is a function that returns a long. The query works when
> > ServOption returns a specific option. However if ServOption returns 0,
>
> > all the records are to be displayed, but doesn't
> >
> >
> >
> >
> > WBR
> > Robert
> >
> >
> > --
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > http://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> >
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> The information contained in this transmission is intended only for the
> person or entity to which it is addressed and may contain II-VI Proprietary
> and/or II-VI BusinessSensitve material. If you are not the intended
> recipient, please contact the sender immediately and destroy the material in
> its entirety, whether electronic or hard copy. You are notified that any
> review, retransmission, copying, disclosure, dissemination, or other use of,
> or taking of any action in reliance upon this information by persons or
> entities other than the intended recipient is prohibited.
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>



More information about the AccessD mailing list