Access 2010 データベースで次の式パターンを頻繁に使用します。
IIF(ISNULL(fieldName), Null, myFunction(fieldName))
ここで myFunction は、fieldName の値を別の形式に変換するユーザー定義関数です (存在する場合)。
タイピングを少し減らすために、次の関数を定義しようとしました。
Function IifIsNull(p AS Variant, v AS Variant) AS Variant
If IsNull(p) Then IifIsNull = p Else IifIsNull = v
End Function
そして、私はそれを次のように使用することになっていました:
IifIsNull(fieldName, myFunction(fieldName))
しかし、うまくいきません。が Null の場合fieldName
、 の戻り値は でありIifIsNull
、#Error
呼び出さIifIsNull
れていません!
ユーザー定義関数またはシステム関数を使用して、指定されたコード パターンを単純化することはできますか?
アップデート:
がいくつかありmyFunction
、それらの関数はすべて厳密に型指定されています。簡単な例を次に示します。
Function RemoveSpace(str AS String) AS String
For i=1 to Len(str)
If Mid(str,i,1) <> " " Then RemoveSpace = RemoveSpace + Mid(str,i,1)
Next
End Function