Accessで給与計算11~クエリの設定④健康保険料の算定~その2

Pocket

次に健保IDに対応する保険料を返す設定をします。
新たに、健康保険料というフィールドを追加して、次のように設定します。

健康保険料: IIf([年齢]>=40 And [年齢]<65,Int(DLookUp(“介護あり”,”健康保険料率表”,
“ID=” & [健保ID] & “”))/1,Int(DLookUp(“介護なし”,”健康保険料率表”,”ID=” & [健保ID] & “”))/1)

実行結果です。
40歳以上65歳未満の場合
2612011
それ以外の場合
2612012
料率表の通りです。
2612013

長い関数になりましたが、条件分岐としては、
①年齢が40歳以上65歳未満
40歳~64歳までは介護保険料がかかります。
健康保険料の求め方は、
健康保険料率表で、健保IDに対応する保険料のうち、介護ありに該当する金額です。

②①以外の場合
介護保険料がかからないので、
健康保険料率表で、健保IDに対応する保険料のうち、介護なしに該当する金額です。

Dlookup関数の考え方は、
健康保険料率表テーブルの、まず「介護あり」フィールドを参照します。
これを上から見ていって、健保IDが33のところのデータを健康保険料として返します。
2612014

「介護なし」の場合も同様です。

=========================
昨日は所用で金沢まで・・・のはずが、乗ろうと思った電車が
強風で運休。次の電車まで一時間待つか迷いましたが、米原で
引き返すことに。今朝のニュースを見てびっくり。
静岡は静かな朝でした。

本日も最後までお読み頂きありがとうございます。