• 締切済み

チェックボックスの合計値の取得

 ACCESSとVBを使ってプログラミングを行っているのですが、チェックボックスの合計値の取得をしたいのですが、同じ行のチェックボックスをクリックする度に碁合計値がズレてしまい、困っています。  どなたか解決方法をお教えください。 例:1行 □YES □NO   YES合計 XX個   2行 □YES □NO    NO合計 XX個       :   30行□YES □NO

みんなの回答

noname#22222
noname#22222
回答No.2

ウーン! チェックボックスの利用方法に一言言いたいところですが... まず、 chkYes_01、chkYes_02・・・・chkYes_NN、chkNo_01、chkNo_02・・・・chkNo_NN と名前を付けるとします。 この場合、次のように、Yes か No かを判定し、それぞれ値を加算すれば真の個数が求まります。 Option Compare Database Option Explicit Private Sub cmdYesNoCount_Click()   Dim Y  As Integer   Dim N  As Integer   Dim ctl As Control      For Each ctl In Me     If ctl.ControlType = acCheckBox Then       If InStr(1, ctl.Name, "Yes", vbTextCompare) > 0 Then         Y = Y + Nz(Abs(ctl.Value))       Else         N = N + Nz(Abs(ctl.Value))       End If     End If   Next   MsgBox "Y=" & Y & ",N=" & N End Sub もう、少し、コンパクトに書くことも可能です。 Private Sub cmdYesNoCount_Click()   Dim V  As Boolean   Dim Y  As Integer   Dim N  As Integer   Dim ctl As Control      For Each ctl In Me     If ctl.ControlType = acCheckBox Then       V = InStr(1, ctl.Name, "Yes", vbTextCompare) > 0       Y = Y + Nz(ctl.Value) * V       N = N + Nz(ctl.Value) * Not V     End If   Next   MsgBox "Y=" & Y & ",N=" & N End Sub

回答No.1

オプションボタンでなくてチェックボックス? チェックボックスだと基本的にYesにもNoにも両方ともに チェック付けられるけど 地道にチェックの数を数える。 この場合チェックボックスをコントロール配列に すれば処理も楽になるよ。

関連するQ&A

  • Access チェックボックスを利用した絞込検索のクエリ記述

    ここ数日、試行錯誤やgoogle検索したのですが、分からないためヒントを下さい。 Accessで、チェックボックス(Yes/No)を含むテーブルがあります。 検索フォームを作成し、ここにチェックを入れることで、テーブルから一致するデータを抽出したいです。 ただし、「Yes」のみが有意なデータで、「No」は無視したいです。    チェックA チェックB チェックC 1    Yes    No     No 2    Yes    Yes    No 3    Yes    Yes    Yes (得たい結果) チェックAをYesで検索…1,2,3 チェックA+BをYesで検索…1,2 チェックA+B+CをYesで検索…3 単に検索フォームのチェックボックスの値を「抽出条件」に入れますと、「No」まで一致するように抽出するので意図と違います。 チェックを入れなかった項目については無視して、クエリを働かせられればよいのですが...。 どのようにクエリを記述したらよいのでしょうか。 フォームにあるチェックボックスからのデータの取得や抽出結果のフォームへの表示などはできています。 よろしくお願いいたします。

  • ACCESSでテーブルにあるチェックボックスを一括でYesにする方法を教えてください

    アクセスのテーブルにあるYes/No型のチェックボックスを、コマンドボタンを押すことによって、全てのレコードをYes(チェックが入っている状態)又はNo(チェックが入っていない状態)にする 方法を教えてください。自分で、参考書をみながら試みたのですが、NoをYesに変えられたのですが、全部Yesにならなくて困っています。 (NoはYesになりますが、元々YesだったところがNoになってしまう) まだ、VBA初心者ですので、小学生(実際は中年?)にも解るように教えていただければ幸いです。よろしくお願いします。

  • エクセルのチェックボックスについて

    エクセルでリストを作ってます。 チェックボックスを使い、YES NOを選ぶようにしています。 YES NO どちらかのチェックボックだけにチェックマークがつくようにしたいのですが、 どうすればいいのでしょうか プロパティのグループ名を設定すればよかったと思っていたのですが、 うまくいきません。 教えてください。

  • アクセスでチェックボックスのデータをYesとNoに切り分けて印刷する方法を教えてください。

    Access2003を使用しています。 チェックボックス(Yes/No型)のデータをYesとNoに切り分けて印刷する方法を教えてください。 フォーム上の「チェックがついているものを印刷」「チェックがついていないものを印刷」というコマンドボタンをクリックすれば、印刷プレビューの画面にジャンプするようにしたいです。 ご教示くださいますようお願いいたします。

  • Accessのチェックボックス

    はじめての質問です。 今、ASPを使ってAccess2000のデータベース操作をしようとしている者です。 ASPでテーブルの中身を取得し表示させています。そのとき「Yes/No型」の表示が「True/False」になっているのですが、これをチェックボックスとして表示させたいのです。 どなたか、ご教授よろしくお願いします!!!

  • Accessでチェックボックスからの入力を受け付けない

    お世話になります。 Access2003を使い、フォームにチェックボックスを作りました。  チェックボックスの値をテーブルに反映させるために、「チェックボックス」-「プロパティ」-「コントロールソース」より、該当テーブルの列を指定しました。 フォームビューにて、チェックボックスをクリックすると「このフォームは読み取り専用です」と言われ、チェックボックスへの操作は拒否されてしまいます。  どのようにすれば、フォームのチェックボックスから入力した値が、テーブルに反映できるのでしょうか?  なお、該当テーブルの列はyes/no型に指定しています。 よろしくお願いします。

  • VB6でチェックボックス付のリストボックスを配置しているのですが、行を

    VB6でチェックボックス付のリストボックスを配置しているのですが、行を選択したときにチェックON/OFFにさせることはできないでしょうか? 現状だとチェックボックスをクリックしないと動かないので・・・。

  • ACCESS Yes/No型の集計

    ACCESSでチェックボックスが複数あるテーブルがあります。これら各々の個数を表示させたいと奮闘しております。複数のフィールドがあるので、やり方をご教授いただけますようお願いいたします。構造とやりたいことは下記に記します Yesはチェックボックスにチェックが入っている状態です テーブル ---------------------------------------------- グループ   分類1   分類2   分類3 ----------------------------------------------   A   |  Yes  |  No  |  Yes   A   |  No   |  No   |  Yes   A   |  Yes  |  Yes  |  No   B   |  Yes  |  No  |  Yes   B   |  No   |  No  |  Yes   B   |  Yes  |  No  |  Yes   ・   ・   ・   ZZ 上記のようなテーブルがあります。これを ----------------------------------------------------- グループ   グループ総数   分類1   分類2   分類3 -----------------------------------------------------   A    |   3     |   2   |  1   |  2   B    |   3     |   2   |  0   |  3   ・   ・   ・   ZZ とういうようにグループの総数とチェックボックスにチェックが入った数を算出させたいんです どうかご教授願います

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

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

  • フレーム内のチェックボックスって?(アクセス)

    こんにちは。質問させていただきます。(環境Win2K/Access2000) アクセスのフォーム内にフレームあ(オプショングループ)を作成しその中にチェックボックスを3つ作りました。それぞれオプション値は1~3とバラバラです。 フォーム上の動きはいいのですが、それがデータとしてどのように格納されたのかわかりません。 DBは普通のチェックボックス同様「Yes/No型」にしました。しかし、チェックしてあるはずのものがTrueになりません。オプショングループ内のチェックボックスってどうやってDBに格納されるのですか? わかっていただけましたでしょうか? よろしくお願いします。

専門家に質問してみよう