続いて、一覧より選択した項目を「テキストボックス」や「コンボボックス」に表示するための処理を行っていく。
その前に、以下の変数宣言を「プライベートモジュールレベル」変数として宣言しておく。前回と同様に、VBE(Visual Basic Editor)のコードエディタでイベントプロシージャを作成し、以下の文字列を「Option Explicit」の下にそのまま記載してほしい。
Private namae As String Private sex As String Private age As String Private yuubin As String Private address As String Private tel As String Private SQL As String Private Sub Form_Load()
次に、フォームが読み込まれたときの処理として、リスト1のコードを記述する。主な目的は初期化だ。
Private Sub Form_Load() Dim i As Integer If 一覧リストボックス.ItemsSelected.Count > 0 Then For i = 0 To 一覧リストボックス.ListCount 一覧リストボックス.Selected(i) = False Next End If 氏名テキストボックス.Value = "" 性別コンボボックス.Value = "" 年齢テキストボックス.Value = "" 郵便番号テキスト.Value = "" 住所テキストボックス.Value = "" 電話テキストボックス.Value = "" End Sub
リスト1のコードの内容は以下の通り。
この処理により、「データ編集フォーム」を起動したときは「一覧リストボックス」内の項目が何も選択されていない状態となる。
Form_Loadイベントは、図4、図5の方法でコードを生成することもできる。また、第5回「AccessでSQLのLIKE演算子を使って「あいまい検索処理」の機能を実装する方法」で解説した方法もある
これで、
Private Sub Form_Load() End Sub
のコードが生成されるので、この中に処理を記述していく。これ以降の「一覧リストボックス_Click」や「編集ボタン_Click」についても、同様の手順でコードを生成するといい。
「一覧リストボックス」を選択し、「プロパティシート」→「イベント」タブをクリックする。「▼」アイコンで[イベントプロシージャ]を選択し、「…」アイコンをクリックすると、
Private Sub 一覧リストボックス_Click() End Sub
のコードが生成されるので、この中にリスト2のコードを記述する。
Private Sub 一覧リストボックス_Click() namae = 一覧リストボックス.Column(1, 一覧リストボックス.ListIndex + 1) sex = 一覧リストボックス.Column(2, 一覧リストボックス.ListIndex + 1) age = 一覧リストボックス.Column(3, 一覧リストボックス.ListIndex + 1) yuubin = 一覧リストボックス.Column(4, 一覧リストボックス.ListIndex + 1) address = 一覧リストボックス.Column(5, 一覧リストボックス.ListIndex + 1) tel = 一覧リストボックス.Column(6, 一覧リストボックス.ListIndex + 1) 氏名テキストボックス.Value = namae 性別コンボボックス.Value = sex 年齢テキストボックス.Value = age 郵便番号テキストボックス.Value = yuubin 住所テキストボックス.Value = address 電話テキストボックス.Value = tel End Sub
リスト2はプロパティを使って、各列と各行の値を取得して変数に格納していくコードだ。
こうして取得した値を、各「テキストボックス」の値に指定する。これで、「一覧リストボックス」から選択した値が、各「テキストボックス」に表示されるようになる。
Copyright © ITmedia, Inc. All Rights Reserved.