Accessでお仕事 複数のフィールドを連結してキーにする

複数のフィールドを連結してキーにする

 複数のフィールドの項目を、連結して組み合わせて、一つのフィールドとして扱いたいことが有ります。
 以下の例では、「姓」別のクラス数をカウントするものです。「学年」と「組」の2つのフィールドを連結して、「クラス」というフィールドにして、集計しています。


複数のフィールドに分かれた表  式ビルダを使って、「学年」と「組」を連結して、一時的な「クラス」というフィールドを設定します。
式ビルダ
フィールドの連結
学年と組をクラスというフィールドに連結  クエリのプロパティの、「固有の値」を「はい」に設定して、「姓」を集約します。
 この例では、「1年A組」の2人の「渡辺」と、1年B組の「伊藤」を、それぞれ1行にまとめています。元の表で8行だったものが、6行に減っています。

SELECT DISTINCT クラス名簿.姓, [クラス名簿]![学年] & [クラス名簿]![組] AS クラス
FROM クラス名簿;
一時的に設定したクラスで集計  上で作ったクエリ「姓クラス抽出」から、「姓」別の「クラス数を集計」します。
 カウントの合計数が、6件になっている点に注目して下さい。

カウント

SELECT [姓クラス抽出].[姓], Count([姓クラス抽出].[クラス]) AS クラスのカウント
FROM 姓クラス抽出
GROUP BY [姓クラス抽出].[姓];


参考:DB2  DB2 の SQL では、COUNT の DISTINCT と、連結演算子の縦線 (||) が使えるので、下記の一発で、集計できます。
SELECT クラス名簿.姓,
Count(DISTINCT [クラス名簿]![学年] || [クラス名簿]![組] ) AS クラスのカウント
FROM クラス名簿;


このページのトップに戻る↑ 次の項目を見る↓ Accessでお仕事 目次に戻る

ホームページのトップに戻る