#253 別のフォームからレコード移動させる方法 フォーム、VBA

ここでは、次のようなインタフェースを想定して、別のフォームからあるフォームのレコード位置を移動させる方法を紹介します。

  • 社員マスタ画面を用意します。そのフォームはメイン/サブフォーム形式になっており、メインフォームの名前は"frm社員マスタ"、サブフォームコントロールの名前は"frm社員マスタ_sub"とします。
  • 社員マスタ画面のサブフォームでは、"社員コード"フィールドが主キーとなっています。
  • 社員マスタ画面のレコードを移動させるための別のフォームを用意します。
  • そのフォームには、社員マスタデータのうち、社員コードと氏名などをリストボックスに一覧表示させます。リストボックスの名前は"lst社員一覧"とします。
  • そのリストボックスで任意の社員を選択します。
  • そして[表示]ボタンをクリックします。
  • すると、社員マスタ画面でもそれに合わせてレコード移動が行われ、リストボックスで指定した社員のデータが画面表示されます。
別のフォームからレコード移動させたところ


この操作を実現するためには、レコード移動操作用のフォームの[表示]ボタンの"クリック時"イベントプロシージャを次のようにします。
Private Sub cmd表示_Click()
'[表示]ボタンクリック時

  Dim rst As Recordset
  Dim strCriteria As String

  '社員マスタ画面を指定社員コードのレコードに移動
  strCriteria = "社員コード = '" & Me!lst社員一覧 & "'"
  Set rst = Forms!frm社員マスタ!frm社員マスタ_sub.Form.Recordset
  rst.FindFirst strCriteria

End Sub
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved