- ベストアンサー
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
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは、ats8181oyajiです >例えば3つのフィールドだとどうしたらよいでしょうか? 今のままのテーブルで集計したいのですよね 私でしたらモジュールを使ってロジックで対処します。 1.テーブルを1レコードずつ、読み込み 2.記号フィールドを区切り文字","カンマで分割 3.分割したデータ(A1やB2)をそのまま別テーブルに1件1レコード出力 (ここで配列変数で内部で処理してもかまわないのですがややこしいので) 4.別テーブルをグルーピ化してカウントする では
その他の回答 (2)
- ryuu001
- ベストアンサー率61% (46/75)
>例えば3つのフィールドだとどうしたらよいでしょうか? テーブルは細分化した方が良いと思います。 重複するデーターは別テーブル化した方が、 今回のような問題も少なくなると思います。 テーブルの分割は テーブルの正規化 で行えます。 ツール → 解析 → テーブルの正規化 です。 テーブルの正規化ウイザードが開始されます。 そこを最後の確定をする前まで 段階ごとに説明が表示されます。 それを参考にされると良いと思います。
お礼
回答ありがとうございます。 試そうとしたのですが、機能がインストールされていなかったため使えませんでした。 インストールしたら試してみたいと思います。
- ryuu001
- ベストアンサー率61% (46/75)
データー入力を次のようにされたら良いと思います。 ID 記号 1 A1 1 B2 2 A2 3 A1 3 A3 4 B1 5 A3 5 B2 5 C1 この方がすっきりしています。 データー検索を行い易くしておかないと データーベースの意味がなくなると思います。
補足
例えば3つのフィールドだとどうしたらよいでしょうか? ID 名前 記号 1 NAME1 A1,B2 2 NAME2 A2 3 NAME3 A1,A3 4 NAME4 B1 5 NAME5 A3,B2,C1 本当はもっとフィールドがあるのですが・・ 要するに1つのフィールドに複数(不定)の記号を入力し、それを集計したいのですが・・・ アドバイスよろしくお願いします。
お礼
回答ありがとうございます。 無事出来ました。 本当にありがとうございます。