• ベストアンサー

アクセス2000 チェックボックスのカウント法

フォーム上にチェックボックス(YES/NO型)を作り、 どの項目が完了したかが分かるような表を作成しました。 チェックボックスは全部で70個ほどあるのですが、YESまたはNOの個数をカウントするにはどのようにすればいいのでしょうか? マクロを使用せずにできるでしょうか?

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

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

IFではなくIIFです。 ちょっと意味を取り違えてましたね、失礼致しました。 70個のフィールドがあるのですね、では、それぞれをIIF関数で判定させて集計するか、ソーステーブルを基にしたクエリーを作成し、そこで集計させた方が良いかも知れませんね それと、ごめんなさい、ちょっと識別子が余計でしたので、訂正しますね =SUM(IIF([チェックボックス]=yes,1,0)) 多数あるのであれば、こんな風になりますね =SUM(IIF([チェックボックス1]=yes,1,0)IIF([チェックボックス2]=yes,1,0)+IIF([チェックボックス3]=yes,1,0)+・・・・・) ヘッダーかフッター以外でも集計可能かもしれませんが、Accessもバージョンによって、その辺が異なりますので、無難な所では、グループヘッダーかフッターなんです。 フォーム上での集計で、そのページだけなら問題は無いと思いますが、全体の集計となると、グループヘッダーかフッターになりますね

hiro_1999
質問者

お礼

できました! フォーム上に作成、SUM入れると1個目を検知しないみたいなので、足し算ですが以下の式で連動してカウントしてくれます。 =IIf([DAIAGNOSTIC1-1]=Yes,1,0)+IIf([DAIAGNOSTIC1-2]=Yes,1,0)+IIf([DAIAGNOSTIC1-3]=Yes,1,0) 70個入れるのも大変ですが、気長にやります。 できなくて、半年ほったらかしにしてましたがこれですっきりしました。 どうもありがとうございました!!

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

=SUM(IIF([チェックボックス]="yes",1,0)) こんな式をレポートのグループヘッダーかフッターに配すれば出来ますよ、フォームヘッダーでも可能なはずです 非連結のテキストボックスの、コントロ-ルソースに上記式を入れてみてください [チェックボックス]の部分は、集計したいフィールドの名前を入れてくださいね

hiro_1999
質問者

補足

回答、ありがとうございます。 IF関数を利用するということですが、うまくいかず「ERROR」表示になります。 [チェックボックス]の部分ですが、フィールド名がよく理解できません。 タブコントロールで作成した内の1ページにあるチェックボックス(70個)なのですが、同一ページの中には他のラベル等もあります。 [チェックボックス]=[ページ名]ではだめなんでしょうか? また[チェックボックス]=[チェック37] と実際あるうちの1つのチェックボックス名にしても「ERROR」表示になります。 数式の意味は分かりますが、範囲の指定の仕方がよく理解できてません。 それともう一つ、集計するテキストボックスはヘッダーかフッターでなければならないのでしょうか? よかったら回答お願いします。

すると、全ての回答が全文表示されます。

関連するQ&A