HOME > 即効テクニック > AccessVBA > コントロール > フォーム上のコントロールを参照する

即効テクニック

コントロール

フォーム上のコントロールを参照する

(Access 2000/2002/2003)
●概要●
構文  expression.Controls 取得のみ

設定項目        内容
expression	Form,SubForm,Section,OptionGroup,Pageオブジェクト
		[省略可能]

指定したオブジェクトに含まれるコントロールを含むControlsコレクションを参照します。
は、フォームモジュールで使用する場合のみ省略可能です。省略した場合、自身のFormオブジェクトを指定したことになります。
Controlsコレクションを利用すると、コントロール名を意識することなく、フォーム上のすべてのコントロールを参照することができるので便利です。
次のコードは、フォーム上のすべてのテキストボックスの入力値を削除するものです。For Each...Nextステートメントを利用して、フォーム上のコントロールを列挙し、そのうちTextBoxオブジェクトだけをIfステートメントで判別しています。
●サンプル●
'フォーム上のコントロールを参照する
Private Sub cmdクリア_Click()
    Dim myCtrl As Control
     'コントロールを1つずつ参照
    For Each myCtrl In Me.Controls 
         'テキストボックスだけを判別
        If myCtrl.ControlType = acTextBox Then
            myCtrl = ""
        End If
    Next
End Sub
●補足●
テキストボックスやチェックボックスなどのControlオブジェクトにも、Controlsコレクションがあります。この場合、Controlオブジェクトに付属するラベルなどを参照します。