• ベストアンサー

Accessでテキストフィールドの集計

ちょっと特殊な集計をしたいのですが テーブルはID(数値)と 記号(テキスト)の2つから構成されています。 ID   記号 1   A1,B2 2   A2 3   A1,A3 4   B1 5   A3,B2,C1 このようにデータが入っている場合 以下のように集計をするにはどうしたらよいでしょうか? 記号  カウント A1   2 A2   1 A3   2 B1   1 B2   2 C1   1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんにちは、ats8181oyajiです >例えば3つのフィールドだとどうしたらよいでしょうか? 今のままのテーブルで集計したいのですよね 私でしたらモジュールを使ってロジックで対処します。 1.テーブルを1レコードずつ、読み込み 2.記号フィールドを区切り文字","カンマで分割 3.分割したデータ(A1やB2)をそのまま別テーブルに1件1レコード出力 (ここで配列変数で内部で処理してもかまわないのですがややこしいので) 4.別テーブルをグルーピ化してカウントする では

youking
質問者

お礼

回答ありがとうございます。 無事出来ました。 本当にありがとうございます。

その他の回答 (2)

  • ryuu001
  • ベストアンサー率61% (46/75)
回答No.3

>例えば3つのフィールドだとどうしたらよいでしょうか? テーブルは細分化した方が良いと思います。 重複するデーターは別テーブル化した方が、 今回のような問題も少なくなると思います。 テーブルの分割は テーブルの正規化 で行えます。 ツール → 解析 → テーブルの正規化 です。 テーブルの正規化ウイザードが開始されます。 そこを最後の確定をする前まで 段階ごとに説明が表示されます。 それを参考にされると良いと思います。

youking
質問者

お礼

回答ありがとうございます。 試そうとしたのですが、機能がインストールされていなかったため使えませんでした。 インストールしたら試してみたいと思います。

  • ryuu001
  • ベストアンサー率61% (46/75)
回答No.1

データー入力を次のようにされたら良いと思います。 ID   記号 1   A1 1   B2 2   A2 3   A1 3   A3 4   B1 5   A3 5   B2 5   C1 この方がすっきりしています。 データー検索を行い易くしておかないと データーベースの意味がなくなると思います。

youking
質問者

補足

例えば3つのフィールドだとどうしたらよいでしょうか? ID 名前   記号 1  NAME1  A1,B2 2  NAME2  A2 3  NAME3  A1,A3 4  NAME4  B1 5  NAME5  A3,B2,C1 本当はもっとフィールドがあるのですが・・ 要するに1つのフィールドに複数(不定)の記号を入力し、それを集計したいのですが・・・ アドバイスよろしくお願いします。