|
>誘導頂いたUNIONクエリまで出来ました!
ユニオンクエリで行こうということですか。
間違った方向に進もうとしているような気がします。
間違った方向に進んでも、例えば、給料明細クエリを表示させるだけにとどまっている限りは、
そう大きな影響はないでしょうが、
さらなる機能を付加したいと思ったときに、正しい方向に進んだ場合に比べて、
膨大な手間を要することになります。
つまり、正しい方向に進んでいれば、クエリを1つ作るだけで済むところを、
間違った方向に進んでしまうと、それを全てVBAで処理するということになってしまいます。
そして、そうなったときに、掲示板で質問しても、
「テーブルをちゃんと作れ」というアドヴァイスしか返ってこず、
独力でVBAのコードを完成させることになってしまいます。
>でもそこから先が何度読み返しても分かりません!
12781のレスの繰り返しでしかありませんが、
クエリは2つ作ります。1つがQ一次クエリで、もう1つがQ二次クエリです。
Q一次クエリは、従事者テーブルに演算フィールドを設けるだけです。
演算フィールドには、12784のレスで紹介したFnIjogaku関数を仕込みます。
なお、FnIjogaku関数は、頭の中で考えただけであり、試してはいないので、
修正をする必要があるかもしれません。
この演算フィールドの名前は、何でもいいのですが、
「基準額」という名前だとして説明を続けます。
Q二次クエリでは、Q一次クエリとユニオンクエリとを結合させます。
この結合フィールドをどうするかちょっと考えどころです。
12781のレスでは、結合フィールドは2つ、つまり、
1つが「基準額」フィールドと「以上」フィールド、
もう1つが「扶養人数」フィールドと「扶養人数フィールド」
とすることを提案したのですが、
結合フィールドは1つだけにして、他方の結合条件は、抽出条件とした方が
クエリが速いのではないだろうかとも思っています。
結合フィールドを2フィールドにした方が速いのか、1フィールドだけにした方が速いのかは、
実際に両方のクエリを作って、実験してみるよりないですね。
それから大事なことですが、
Q二次クエリは、ユニオンクエリをベースにしたクエリなので、
更新不可のクエリです。
つまり、Q二次クエリ上で新規レコードを入力することはできませんし、
既存レコードの修正をすることもできません。
レコードを表示するだけです。
|
|