概要説明
入力用フォームで既に登録してあるレコードのデータを入力する際に、一覧から選択して入力する方法。
次は入力フォームである。
「個人code」を入れると右側に登録者の名前が出る。しかしコード番号を覚えていないと入力ができない。
そこで一覧を出して選択入力する方法としたい。
手順
- 入力フォームにリストフォームを開くコマンドボタンを設置する。ここで使っているフォーム名は[F_受験記録入力]である
名前:Cmd_リスト表示
コマンドボタンのプロシージャ(フォーム名はフォーム作成前だが[FL_登録者リス]と付けた)
Private Sub Cmd_リスト表示_Click()
' リストフォームを開く
DoCmd.OpenForm "FL_登録者リスト"
End Sub - リストフォームの作成
空のフォームを作り、リストボックスをウイザードにより設置した。選んだフィールドは[個人code] [氏名] [フリガナ]とした。またリストボックスの名前を[Lst_登録者]とした。フォームデザインは使いやすく直そう。 - コマンドボタンの設置し、プロシージャに選択レコードの取り込み機能と入力フォームに転記する仕組みを作る。次は二つのコマンドボタンを設置したところ
それぞれのコマンドボタンに次のプロシージャを作る。
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 - これで完成。試してみよう。[リスト入力]ボタンでリストフォームが開かれた。
- レコードを選択して[選択]ボタンで、入力フォームに選択レコードが入力された
(この項終わり)