|
▼あおぎん さん:
こんにちは。
>Q_紹介状のもと で
>社員コード 種別 判定 番号
>1 肝機能 要精密検査 1
>2 肝機能 要精密検査 1
>2 糖代謝 要精密検査 2
>3 胃部X線 要精密検査 1
>3 脂質 要精密検査 2
>
> こんな感じで、社員コードごとに番号を付けることが出来たら、
> クロス集計で目的のデータが取得できそうなのですが・・。
SELECT Q_紹介状のもと.社員コード,
Q_紹介状のもと.種別,
Q_紹介状のもと.判定,
"番号_" & DCount("*","Q_紹介状のもと","社員コード=" & [社員コード] & " AND 種別 >='" & [種別] & "'") AS 番号
FROM Q_紹介状のもと;
のような SQL で結果を求める事は可能です。
ですが、元々の Q_紹介状のもと 自体が
ユニオンクエリを使っていらっしゃる事、
クエリの中に定義域集計関数(今回は DCount関数) を使うことによって
速度面でのパフォーマンスは期待できないかもしれません。
(お使いのPCの性能にもよりますが…)
件数が少なければ問題はないのですが、
もし大量な件数の中から何枚ものレポートを発行しなければいけない場合は
抽出条件が変わる度に何回も再計算しなければいけない為、
クエリでなく、いったんワークテーブルに格納する方が良いかもしれませんね。
※クロス集計クエリを使った際、フィールド名が「1」「2」のようですと
不安定な動作になる事がありますので、
「番号_1」「番号_2」の様になる様に修正しております。
|
|