10代と話して驚いたこと

ACCESSでデータを抽出した結果、ワンセットごとに縦に並んでいるものを横に並列で表示したい場合はどのようにしたらいいでしょうか。

例:
会員番号 / 区分 / 名前    / 登録番号
012345  /  1  / 太郎   /  ABCD
012345  /  2  / taro   / 982A
012345  /  4  / 山田太郎  / KAKA15
85274  / 2  / hanako / 753VA
5551  / 1  / 加藤次郎 / AHI12
5551  / 3  / 加藤   / 75APD

これを
012345 / 1 / 太郎 / ABCD / 2 / taro / 982A / 4 / 山田太郎 / KAKA15
85274 / 2 / hanako /753VA
5551 / 1 / 加藤次郎 / AHI12 / 3 / 加藤 / 75APD

上記のように会員番号をキーにして、区分~登録番号をワンセットにして横に並べたいのです。
*区分は連続しているとは限りません
*区分は1~5までです

お分かりになる方、ぜひアドバイスをお願いいたします!

A 回答 (1件)

フィールド「S」(長整数)だけのテーブル「▲▲」を新規に作成し、


1 ~ 3 の3レコードを作成しておきます。
元のテーブル名を「★★」と仮定します。

クエリのSQLビューに以下を記述して表示を確かめてみます。


TRANSFORM First(Choose(S,区分,名前,登録番号)) AS 値
SELECT 会員番号 FROM
(SELECT *,
DCount("*","★★","会員番号='" & 会員番号 & "' AND 区分<=" & 区分) AS 順
FROM ★★) AS Q1, ▲▲ AS Q2
GROUP BY 会員番号
PIVOT 順 & "_" & S & Choose(S,"区分","名前","登録番号");


※ 上記は、会員番号はテキスト型と仮定したものになるので、
数値なら DCount 部分の ' ' 囲みを除いてください。
    • good
    • 1

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


おすすめ情報