|
▼かるびの さん:
>> 次に、社会保険料等控除後金額から税額表の「以上」フィールドの値を求める
>>ユーザー定義関数を作ります。
>
> 興味が湧いたので、このユーザー定義関数を考えてみました。
>
>Function FnIjogaku(lngKojogo As Long) As Long
> Dim lngHasu As Long
> Dim lngRslt As Long
>
> If lngKojogo < 1010000 Then
> Select Case lngKojogo
> Case Is < 99000
> lngHasu = lngKojogo Mod 1000
>
> Case Is < 221000
> lngHasu = (lngKojogo - 99000) Mod 2000
>
> Case Is < 1010000
> lngHasu = (lngKojogo - 221000) Mod 3000
> End Select
>
> lngRslt = lngKojogo - lngHasu
> Else
>
> End If
>End Function
>
> 補足すると、引数のlngKojogoは、社会保険料等控除後の給料額です。
>
> 以上と未満の幅は、
>控除後給料額が 0〜 99,000のとき、1000円幅、
> 99,000〜 221,000のとき、2000円幅、
> 221,000〜1,010,000のとき、3000円幅
>ですが、変数lngHasuは、この幅に満たない端数のことです。
>
> 社会保険料等控除後の給料額からこの端数を引けば、
>所得率表テーブルの「以上」フィールドの値になるはずです。
>
> 返り値は、所得率表テーブルの「以上」フィールドの数値です。
>
> Else以下、つまり、社会保険料控除後の給料額が101万円以上の場合も
>書こうかと思ったのですが、力尽きました。
お返事有難うございます
貴重なソース有難う御座います
やはり基本ベースは所得率表テーブルだと思っております
年1度の更新時期に所得率表テーブルを使用者が変更した時に
対応できるようにしたい為です。
どうにかなりませんか?
|
|