電子書籍の厳選無料作品が豊富!

Access2010のテーブルに以下があります。
テーブル名:テスト

コード  コメント1
-------------------------
1     あああ
2     いいい
4     ううう
4     えええ
6     おおお
6     かかか
6     ききき
8     くくく
10     けけけ

これをコードが一致するものを統合し、以下のように一つの行にまとめたいのですが可能でしょうか?
(コードは連番ではありません。また重複するコードは3つ以上の場合もあります。)
コード  コメント1  コメント2 コメント3
----------------------------------------------------
1     あああ
2     いいい
4     ううう    えええ
6     おおお    かかか   ききき
8     くくく
10     けけけ

※コメントは別列にしても良いですし、元々あるコメント1の欄につなげても良いです。
 (例えばコード6の場合、おおおかかかきききでもOKです。)

Access初心者でやり方が全く思い浮かびません
親切な方ご教授頂けますでしょうか?

A 回答 (1件)

クロス集計クエリでできますが、テストテーブルのコードとコメントが全く同じもの


例えば
コード  コメント  
-----------------------------
1    あああ
2    いいい 
2    いいい ←同一レコードが有る
4    ううう
:    :
この様なレコードが有るか無いかで多少処理が変わってきます。

<同一レコードがある場合>
テストテーブルにオートナンバーの主キーを追加します。
このフィールドを仮に「番号」とします。

テストテーブルを基にクエリ(クエリ1とします)を作成し、
「番号」「コード」「コメント」の次のフィールド欄に
列見出し: "コメント" & DCount("*","テスト","番号 <=" & [番号] & "AND コード=" & [コード])
を追加します。

次にクリス集計クエリを作っていきます。
クエリウイザードからクロス集計クエリウイザードを選び、
最初のステップでは「表示」の「クエリ」を選択して、先ほどの「クエリ1」を選択します。
次の行見出しを選ぶ部分では「コード」を選びます。
次の列見出しでは「列見出し」を選びます。
集計する値があるフィールを選ぶステップでは、フィールドには「コメント」、
集計方法には「先頭」を選びます。
この時、説明文の下にある「集計値を表示する」のチェックは外します。
これで目的の表示は可能だと思います。

<同一レコードがない場合>
上の方法でも可能ですが、オートナンバーのフィールドを追加しないで(今のままのテストテーブルで)、
クエリ1の「列見出し」部分を
列見出し: "コメント" & DCount("*","テスト","[コメント]<='" & [コメント] & "' AND [コード]=" & [コード])
に変更してください。

※テストテーブルの「コード」は数値型フィールドと仮定して説明しています。
 テキスト型の場合は、Dcount部分の[コード]を「’」で囲ってください。
    • good
    • 1

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