Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


519 / 9994 ←次へ | 前へ→

【12786】Re:所得税の算出
回答  かるびの  - 15/3/30(月) 2:18 -

引用なし
パスワード
   >やはり基本ベースは所得率表テーブルだと思っております
>
>年1度の更新時期に所得率表テーブルを使用者が変更した時に
>対応できるようにしたい為です。
>
>どうにかなりませんか?

 私が12481のレスで提示した

以上   扶養人数 所得税額
380,000     0  15,040
380,000     1  11,800
380,000     2   8,570
        ・・・・・・
383,000     0  15,280
383,000     1  12,050
383,000     2   8,810

というテーブルを使うことは、リレーショナルベータベースを使う限り、
避けられないと思います。

 上例のようなテーブルを用意することは、それほど手間がかかることでは
ありません。
 所得率表テーブルから追加クエリでレコードを追加するだけです。

 その追加クエリですが、
所得率表テーブルの「以上」フィールドと「0人」ないし「7人」フィールドが
ともに長整数型だとし、
かつ、上例のようなテーブルのテーブル名が「T税額表」だとし、
そのテーブル構成が
   ID    オートナンバー(主キー)
   以上   長整数型
   扶養人数 バイト型
   所得税額 長整数型
だとして、次のようなものになります。

INSERT INTO T税額表
(以上,扶養人数,税額)
SELECT 以上,0 AS 扶養人数,[0人] AS 税額
FROM 所得率表テーブル
UNION ALL 
SELECT 以上,1 AS 扶養人数,[1人] AS 税額
FROM 所得率表テーブル
UNION ALL 
SELECT 以上,2 AS 扶養人数,[2人] AS 税額
FROM 所得率表テーブル
   ・・・・・
UNION ALL 
SELECT 以上,7 AS 扶養人数,[7人] AS 税額
FROM 所得率表テーブル


 一つ気になるのは、所得率表テーブルの「0人」ないし「7人」フィールドの
フィールド名です。
 フィールドの命名規則として、数字で始まるフィールド名はNGですから、
これが原因で何らかのエラーが生じ、追加クエリが実行できないかもしれません。
 このエラーは、追加クエリだから出るというのではなく、
単なる選択クエリでも生じる可能性があります。
 所得率表テーブルの「0人」ないし「7人」フィールドは、
フィールド名を変えておいた方が無難だと思います。


 どうしても、上例のようなテーブルを作りたくないならば、
ユニオンクエリを使うという方法が考えられます。
 所得率表テーブルから上例のようなレコードを返すクエリを
ユニオンクエリで作るという方法です。

 もっとも、上例のようなテーブルを使う場合に比べて、
ユニオンクエリの処理が必要になる分、遅くなるのがデメリットです。

 ユニオンクエリの作り方ですが、クエリデザイナでは作れないので、
SQLビューで作ります。
 SQLビューに次のように入力してください。

SELECT 以上,0 AS 扶養人数,[0人] AS 税額
FROM 所得率表テーブル
UNION ALL 
SELECT 以上,1 AS 扶養人数,[1人] AS 税額
FROM 所得率表テーブル
   ・・・・・
UNION ALL 
SELECT 以上,7 AS 扶養人数,[7人] AS 税額
FROM 所得率表テーブル

 なお、上記の「・・・・・」の部分は、
私がSQL文を逐一書くのが面倒なため、省略したものですので、
実際にSQLビューに書くときは、省略せずに書いてください。


 T税額表を新規に作るにせよ、それをユニオンクエリで代用するにせよ、
あとの手順は、私の12781のレスの
>> その上で、従事者テーブルにプラスして
>>この関数を使った演算フィールド(フィールド名「基準額」)
>>を持つクエリを作り(クエリ名「Q一次」)、
>>Q一次と税額表とを、「基準額」フィールドと「以上」フィールド、
>>及び「扶養人数」フィールドで結合させたクエリを作ります
>>(クエリ名「Q二次」)。
のとおりです。
595 hits

【12778】所得税の算出 ppp3 15/3/26(木) 19:53 質問[未読]
【12779】Re:所得税の算出 かるびの 15/3/27(金) 1:23 回答[未読]
【12780】Re:所得税の算出 ppp3 15/3/27(金) 21:31 質問[未読]
【12781】Re:所得税の算出 かるびの 15/3/28(土) 1:21 回答[未読]
【12784】Re:所得税の算出 かるびの 15/3/29(日) 2:47 発言[未読]
【12785】Re:所得税の算出 ppp3 15/3/29(日) 22:39 質問[未読]
【12786】Re:所得税の算出 かるびの 15/3/30(月) 2:18 回答[未読]
【12788】Re:所得税の算出 ppp3 15/3/30(月) 22:55 質問[未読]
【12789】Re:所得税の算出 かるびの 15/3/31(火) 1:50 回答[未読]
【12791】Re:所得税の算出 pp3 15/3/31(火) 8:15 質問[未読]
【12792】Re:所得税の算出 かるびの 15/3/31(火) 13:46 回答[未読]

519 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078190
(SS)C-BOARD v3.8 is Free