2017年9月20日

【Access】帳票フォームから指定のレコードの単票フォームを開く方法


帳票フォームから指定のレコードの単票フォームを開く方法です。

たとえば、このような帳票フォームから指定のレコードをダブルクリックしたら、そのレコードの単票フォームを開くようにしてみたいと思います。



まず、帳票フォーム(F_名物リスト)のフォームのダブルクリック時イベントプロシージャに次のように記述します。
Private Sub Form_DblClick(Cancel As Integer)

    DoCmd.OpenForm "F_名物", acNormal, , , , , CStr(Me.ID.Value)

End Sub
OpenFormの7番目の引数にダブルクリックしたレコードのIDを指定します。


次に、単票フォーム(F_名物)の
Private Sub Form_Load()

    Dim strCondition As String
    
    '検索条件を組み立て
    strCondition = "ID = " & CStr(Me.OpenArgs)

    '検索条件に該当するレコードから先頭のレコードを表示(DAO)
    Me.Recordset.FindFirst strCondition

End Sub
FindFirst(DAO)を使って、検索条件に該当するレコードから先頭のレコードを表示しています。

ちなみに「F_名物」のレコードソースにはテーブル「名物」を指定しています。
また、フォームはポップアップを「はい」にしています。


では、実行してみたいと思います。

まず、帳票フォームを開き、ID=5のレコードセレクタをダブルクリックしてみます。

すると、このように単票フォームが開き、ID=5のレコードが表示されました。








スポンサーリンク