• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【Access】Dcountの利用方法)

【Access】Dcountの利用方法

このQ&Aのポイント
  • AccessのDcount関数を利用してデータの集計を行う方法についてアドバイスを求めています。
  • 具体的には、特定の条件に基づいてデータを集計し、表形式で表示する方法に関して詰まってしまっている状況です。
  • また、レベル3のフィールドが増える可能性があるため、柔軟な対応方法を知りたいと考えています。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

これはDCountを使わずクロス集計でしょう レベル1~3を行見出し 程度を列 に指定してレコードをカウントすれば目的のものが得られますよ

suiko_wkk
質問者

お礼

ありがとうございます! 言われたとおりにしてみました レコード→IDにしてみましたが上手くいきました。 ありがとうございました!

その他の回答 (2)

  • hotosys
  • ベストアンサー率67% (97/143)
回答No.2

Dcountは使わないけど SELECT レベル1, レベル2, レベル3, Sum(IIf([程度]="低",1,0)) AS 低, Sum(IIf([程度]="中",1,0)) AS 中, Sum(IIf([程度]="高",1,0)) AS 高 FROM テーブルA GROUP BY レベル1, レベル2, レベル3 では?

suiko_wkk
質問者

お礼

ありがとうございます。 これはクエリのSQLですか? 新規クエリに張ってみましたが、 クエリ式 'レベル3 FROM テーブルA'の構文エラー : 演算子がありません。 とでて表示できません。 SQLを理解できていないので何所がおかしいのか分かりません><

suiko_wkk
質問者

補足

最後のレベル3のあとに;をつけたらエラーメッセージが代わりました。 SQL ステートメントの後に文字が見つかりました。 う~ん・・・メッセージの意味すらわからなくなってきました><。。

noname#140971
noname#140971
回答No.1

少なくともクエリ内にマジックナンバーを埋め込むのはご法度。 マジックナンバーとは、いわゆる固定値です。 こういうことをやると、項目を追加する都度に手直しが必要に。 つまり、何時までたっても開発者から手離れしない最悪のシステムが出来上がります。 テーブルX ID・・・・・・1,2・・・・N 区分・・・・1,2,3 並び順・・1,2・・・・N 項目名・・ミス,トラブル 評価点・・1.0,1.5・・・・N.5 少なくとも、テーブルAはテーブルXを参照し[テーブルX.ID]を記憶するべきでしょう。 もちろん、その[評価点合計=程度]というのが成立する必要があるでしょうが・・・。 その成立の可否が不明な現時点では、マジックナンバーを埋め込むのはまずいとだけ・・・。

suiko_wkk
質問者

お礼

すみません昨夜レス下と思っていたのですが 送信しきれて居なかったようです。 レスが遅れて申し訳ありません。 基本的な考えに間違いがあるということは分かったのですが テーブルXから下のくだりがすぐに理解できませんで 実施することが出来ませんでした・・・ しばらく理解する時間を下さい><

関連するQ&A