I have trying to write a query in Access 2010. I have a table:
Table name is power
. I have trying to write IF statement:
Select IIf(power.gain_type = 'D', power.gain_max + 2.15)
If gain_type equals D, then gain_max sum 2.15
For example:
14.8 + 2.15 = 16.95.
Thanks in advance!
Now I wondering how to insert an ELSEIF statment. "IF (gain_type='D'){gain_max+2.15} ELSEIF (gain_type='I'){gain_max-2.15} ELSE {gain_max}
You can either use SWITCH
Select power.gain_max + Switch(power.gain_type='D', 2.15,
power.gain_type='I', -2.15,
true, 0)
from power
or nest/chain the IIFs
Select power.gain_max + IIf(power.gain_type='D', 2.15,
IIf(power.gain_type='I', -2.15, 0))
from power
This does the select
Select IIf(power.gain_type='D', power.gain_max+2.15, power.gain_max)
from power
Are you trying to update?
update power
set gain_max = gain_max+2.15
where gain_type='D'
You can also use the fact that TRUE = -1 in Access
Select power.gain_max-2.15*(power.gain_type='D')
from power
References
The syntax is iif(condition, value_if_true, value_if_false)
. If you add a third parameter you should be fine:
IIf(power.gain_type='D',
power.gain_max+2.15,
power.gain_max)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With