VBのControl Arrayに相当する機能をAccessで実現するには



Visual Basicには便利なControl Arrayの機能があります。Access 97にこの機能はありませんが、擬似的に同等機能を実現することができます。この機能を使用すると、フォームのエラーチェックを行うときに便利です。

  1. Access 97を起動して新規データベースを作成します。
  2. データベースウインドウが表示されたら、フォームのタブをクリックして新規作成のボタンをクリックします。
  3. フォーム上にテキストボックスを5個作成してコントロール名を、txtBox1,txtBox2,txtBox3,...のように設定します。
  4. コマンドボタンを作成して、キャプション(Caption)をShow、コントロール名(Name)をcmdShowに設定します。
    Forms_Intermediate_005_fig1
    図1-フォーム上5個のテキストボックスとコマンドボタンを作成した例
  5. コマンドボタンのOn Clickイベントに以下のVBAコードをペーストします。
    リスト1-クリックイベントでテキストボックスのコントロール名と値を表示するためのコード
    Private Sub cmdShow_Click()
      Dim intI As Integer
      Dim strMsg As String
      For intI = 1 To 5
        With Me("txtBox" & CStr(intI))
          strMsg = strMsg & .Name & "=" & .Value & vbCrLf
        End With
      Next intI
      MsgBox strMsg
    End Sub
      
  6. フォームビューに切り替えたら、テキストボックスにデータを入力してShowボタンをクリックしてください。コントロール名と入力した値がMsgBoxに表示されます。
    Forms_Intermediate_005_fig2
    図2-ShowボタンをクリックしたときにMsgBoxにコントロール名を値を表示した例