投稿日 | : 2002/11/28(Thu) 19:11 |
投稿者 | : 魔界の仮面弁士 |
Eメール | : |
URL | : |
タイトル | : Re: iif関数 |
> iif関数で
> IIf(A = "", "", CInt(A))
> としたとき
> Aが""のときはエラーで落ちてしまいます。
VB/VBAのIIf関数では、評価式がTrueであろうとFalseであろうと、
両方の数式を評価する仕様になっています。
例えば、
s = IIf( 式, MsgBox("True"), MsgBox("False") )
というコードの場合、式の結果に関わらず、両方のMsgBoxが表示されます。
# ちなみに、Jet SQLのIIF関数は、一方の式しか評価しなかったりします。
> これを回避する為にはどのようにしたらよいですか?
Aが正数のみという条件であれば、
f = IIf(A = "", "", CInt("0" & A))
という書き方もできますが……今回の場合は、IIfを使わないようにするか、
あるいは自分で Function プロシージャを作ってしまった方がスマートでしょう。