iif statement in query not saving in table

N

Needsomehelp

I have an iif statement in my query and the query works fine, but the data is
not being stored into the table - the field is left blank. All the other
information is entered correctly. Is it a text/number issue?
Thanks!
 
P

Piet Linden

I have an iif statement in my query and the query works fine, but the data is
not being stored into the table - the field is left blank.  All the other
information is entered correctly. Is it a text/number issue?
Thanks!

unless it's an update query, it won't save anywhere. But then, if
it's a derived value, why would you even want to save it?
 
J

John W. Vinson

I have an iif statement in my query and the query works fine, but the data is
not being stored into the table - the field is left blank. All the other
information is entered correctly. Is it a text/number issue?
Thanks!

A field in a query can be *EITHER* a field from (one of) the underlying
table(s), or it can be a calculated expression like an IIF. It can't be both.

As Piet says, you shouldn't be storing the result of the IIF in any case.
Here's my blurb on the topic:

Storing derived data such as this in your table accomplishes
three things: it wastes disk space; it wastes time (almost
any calculation will be MUCH faster than a disk fetch); and
most importantly, it risks data corruption. If one of the
underlying fields is subsequently edited, you will have data
in your table WHICH IS WRONG, and no automatic way to detect
that fact.

Just redo the calculation whenever you need it, either as a
calculated field in a Query or just as you're now doing it -
in the control source of a Form or a Report textbox.
 

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