リストボックスを利用した入力

TIPSメインへ戻る

概要説明

入力用フォームで既に登録してあるレコードのデータを入力する際に、一覧から選択して入力する方法。
次は入力フォームである。 「個人code」を入れると右側に登録者の名前が出る。しかしコード番号を覚えていないと入力ができない。

そこで一覧を出して選択入力する方法としたい。

手順

  1. 入力フォームにリストフォームを開くコマンドボタンを設置する。ここで使っているフォーム名は[F_受験記録入力]である

    名前:Cmd_リスト表示
    コマンドボタンのプロシージャ(フォーム名はフォーム作成前だが[FL_登録者リス]と付けた)

    Private Sub Cmd_リスト表示_Click()
     ' リストフォームを開く
      DoCmd.OpenForm "FL_登録者リスト"

    End Sub

  2. リストフォームの作成

    空のフォームを作り、リストボックスをウイザードにより設置した。選んだフィールドは[個人code] [氏名] [フリガナ]とした。またリストボックスの名前を[Lst_登録者]とした。フォームデザインは使いやすく直そう。
  3. コマンドボタンの設置し、プロシージャに選択レコードの取り込み機能と入力フォームに転記する仕組みを作る。次は二つのコマンドボタンを設置したところ

    それぞれのコマンドボタンに次のプロシージャを作る。

    Private Sub Cmd_選択_Click()
     ' 選択レコードを入れる変数
     Dim intcode As Integer
     intcode = Me.Lst_登録者.Column(0)
     ' 入力フォームに変数の値を転記する
     Forms!F_受験記録入力!個人code = intcode
     'リストフォームを閉じる
     DoCmd.Close
    End Sub


    Private Sub Cmd_中止_Click()
     ' 保存中止
     Me.Undo
     ' リストフォームを閉じる
     DoCmd.Close

    End Sub

  4. これで完成。試してみよう。[リスト入力]ボタンでリストフォームが開かれた。
  5. レコードを選択して[選択]ボタンで、入力フォームに選択レコードが入力された

(この項終わり)