コントロールを配列のように参照 Hit Counter

対象バージョン : 97, 2000, 2002, 2003, 2007
最終更新日 : 2007/02/12 ( オリジナル作成日:1996/11/16 )


概 要

 フォームやレポートのいくつかのコントロールに対して、プロシージャの中で、同じような操作を繰り返して行いたい場合、配列での添字のように、数値を変えることにより参照するコントロールを連続して変更する方法です。

 ここでは、フォーム上に貼り付けてある20個のテキストボックスコントロールに、レコード移動時にゼロを代入する方法を例としています。

 

手 順

  1. ゼロを代入するテキストボックスを貼り付け、この名前を "Text1", "Text2", "Text3", ・・・ "Text20" と名前を付けます。

  2. フォームの "OnCurrent/レコード移動時" のイベントプロシージャを次のように設定します。
    Private Sub Form_Current()
    Dim iCtl As Integer
    For iCtl = 1 To 20
        Me("Text" & iCtl) = 0
    Next
    End Sub


補 足

 この方法は、フォームやレポートの参照、あるいはフォームオブジェクト変数やレポートオブジェクト変数を使用する場合でも使用可能です。

 以下は、フォームでの例です。

    Dim frm As Form
    Dim ctl As Control

   【方法1】
    Forms!フォーム名("Text" & iCtl) = 0

   【方法2】
    Set frm = Forms!フォーム名
    frm("Text" & iCtl) = 0

   【方法3】
    Set frm = Forms!フォーム名
    Set ctl = frm("Text" & iCtl)
    ctl = 0

目次へ戻る