10/13/2024

Access。多分岐処理ならば、Iif関数もいいけど、Switch関数が便利です。【Multi-branch】

Access。多分岐処理ならば、Iif関数もいいけど、Switch関数が便利です。

<Access>

販売金額によって送料が変わる場合、単純な分岐ならば、Iif関数で対応できますが、多分岐となると、Iif関数をネストにする必要があります。


設定するのも大変ですし、可読性も悪化します。


そこで、次のテーブルをつかって、販売金額が1000円以上なら送料は0円。

500円以上なら送料は200円。

それ以外は、送料500円と判断するクエリを作っていきます。


では、ホームタブのクエリデザインをつかって、クエリをつくります。


テーブルのフィールドをすべてつかっています。


演算フィールドで、送料をつくります。

送料: Switch([販売金額]>=1000,0,[販売金額]>=500,200,True,500)


では、実行して確認してみましょう。


販売金額が1000円以上なら送料は0円。

500円以上なら送料は200円。

それ以外は、送料500円と判断されていることが確認できました。


○✕のような単純な分岐ならば、Iif関数で全く問題はありませんが、多分岐となるとSwitch関数をつかった演算フィールドのほうが、可読性はいいように感じられます。


また、それ以外は、Trueをつかいます。


Trueをつかうのは、ExcelのIFS関数も同じですね。