• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessのコントロールの数え方)

Accessのコントロールの数え方

このQ&Aのポイント
  • Access 2003のフォームに配置されたチェックボックスの数を知る方法と、チェックが入っているチェックボックスの数を知る方法について教えてください。
  • ネットで検索した結果、指定のコードを使用すればチェックボックスの数とチェックが入っているチェックボックスの数を取得できるようですが、具体的にはどのように利用すれば良いのでしょうか?
  • 回答方法を教えていただきたいです。よろしくお願いします。

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

蛇足回答ですが、標準モジュールにて Sub QQ() On Error Resume Next   Dim ctl As Control   Dim i As Integer, j As Integer, k As Integer   For Each ctl In Forms!フォーム1 '(フォームビューで開いてあること)     i = i + 1     Debug.Print "名前", ctl.Name     Debug.Print "タイプ", TypeName(ctl)     Debug.Print "値", ctl.Value '値を持てないモノもありますので On Error Resume Next で逃げてます     Debug.Print i & " 個目///////////////"      If TypeName(ctl) = "CheckBox" Then     j = j + 1     If ctl = True Then       k = k + 1     End If   End If   Next   MsgBox "チェックボックス数=" & j & " 入り数=" & k End Sub イミディエイトウィンドウに出力されるので色々調べられます。 フォームにチェックボックスが一杯あって数えるのが大変なら フォームのモジュールになりますが Function chkCount() As Integer   Dim ctl As Control   For Each ctl In Me.Controls     If TypeName(ctl) = "CheckBox" Then       If ctl = True Then       chkCount = chkCount + 1       End If     End If   Next End Function としておいて、適当なテキストボックスを作成し そのコントロールソースに、=chkcount() と入れてあげればカウントされます。 チェックボックスにチェックを入れても即座には反映されないので F9 を押してやってください。 などなど。

mellow91
質問者

お礼

コードまで書いて頂き非常にたすかりました。勉強になります、本当にありがとうございました!

その他の回答 (1)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

たとえば、フォームのボタンクリック時のイベントで、 Private Sub コマンド12_Click() Dim i As Integer Dim ctl As Control i = 0 For Each ctl In Me.Controls If TypeOf ctl Is CheckBox Then i = i + 1 End If Next ctl MsgBox i End Sub のように。

mellow91
質問者

お礼

ご回答ありがとうございます!typeof isを知りませんでした。勉強になりました。ありがとうございます。

関連するQ&A