- 「コード」は、フォームを開く時、引数で渡すものとする。
- サブフォーム名は、"sfm詳細"
- 下記ソースは、ブログ上で修正しているので、「考え方のみ」の提供とする。
実際のコードでは検証済み。
Private Sub Form_Open(Cancel As Integer)
On Error GoTo Err_Form_Open
Dim mbTitle As String
Dim strCode As String
Dim RST As DAO.recordset
mbTitle = MYObjName & "/Form_Open"
strCode = Nz(OpenArgs)
If strCode = "" Then Exit Sub
Set RST = Me.sfm詳細.Form.RecordsetClone
RST.FindFirst "[コード]='" & strCode & "'"
Me.sfm詳細.Form.Bookmark = RST.Bookmark
RST.Close
Exit_Form_Open:
Set RST = Nothing
Exit Sub
Err_Form_Open:
MsgBox Err.Number & "/" & Err.Description, vbCritical, mbTitle
Resume Exit_Form_Open
End Sub
※課題
- アクティブにはなるが、サブフォームの最上部ではない。
どちらかと言えば、下方になるので、格好悪い。