アプリ版:「スタンプのみでお礼する」機能のリリースについて

Access2019クエリについて質問です。
やりたいことがあるのですが、過去の質問を見ても似た事例がなかったため質問させていただきます。

★現在の状態
テーブルに、ID、介護認定の時期と種類が縦に入っています(種類はA~Gまで7種類あります)。

ID │認定時期  │認定区分
1  │20100401 │A
1  │20110401 │B
1  │20120401 │B
1  │20130401 │A
2  │20100401 │C
2  │20120401 │C
3  │20100401 │A
3  │20120401 │B
3  │20130401 │B
3  │20140401 │C


★実現したいこと
このテーブルから、1人に入っている介護区分の変遷情報を
横並び一列で表示したいのです。

ID│初回認定時期│初回区分│2回目時期│2回目区分│3回目時期│3回目区分・・・
1 │20100401 │A    │20110401│B     │20130401│A
2 │20100401 │C
3 │20100401 │A    │20120401│B     │20140401│C

条件としては、
①区分がA→B→Aとなっている場合、Aを区別し2回掲載したい
②B→B等同じ区分が連続している場合は1回のみ・一番古い認定時期を記載したい
③人によって何回区分が変わるかは不明(多くの人は4回以内だと思われるが・・・)

このようなことはaccessのクエリで実現可能でしょうか?
クロス集計を試みたのですが、データ数が8000と多く、分割は極力したくないためできませんでした。また、クロス集計では①のようにAを区別できないことがわかりました。

大変ややこしくて恐縮ですが、ご教授いただけましたら大変ありがたいです。
説明に不足がありましたら補足いたします。どうぞよろしくお願いいたします。

質問者からの補足コメント

  • VBAでの解決策がありましたら、ご教授お願いいたします。

      補足日時:2020/11/06 12:37

A 回答 (2件)

クエリでは無理ですね。


出来るかもしれないけど、それやるくらいならVBAで組んだ方がメンテも楽。
まぁなんにしても簡単ではない。
それっぽいのはクロス集計でもできるけど、やっぱりクエリだけでは不可能。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
やはりクエリでは難しいのですね・・
簡単ではないかもしれませんが、VBAでの解決方法をもしご存じでしたら教えていただけますでしょうか。
どうぞよろしくお願いいたします。

お礼日時:2020/11/06 12:39

とりあえず簡単そうなのは、


認定区分を数値に変える(A→1)
集計クエリを作成
その結果を、テーブルに格納(テーブル作成クエリでもいい)
認定区分を元に戻す

とりあえずエクセルでやってみ。
エクセルでもできるから。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!