ターゲットレコードをサブフォームの現在のレコードにします。次に、それRunCommand
を「選択」するために使用します...これもレコードを強調表示します。
DoCmd.RunCommand acCmdSelectRecord
あなたの質問は「最後に追加されたレコードを現在のレコードにするにはどうすればよいですか」に変化しているようです。
最後に追加されたレコードがまだ現在のレコードである場合は、すでにそこにいるので、問題ありません。
ユーザーが最後のレコードを追加した後に別のレコードに移動した場合、そのレコードに戻るには少なくとも2つの方法があります。
DoCmd.GoToRecord
- レコードセットクローンでfindメソッドを使用します。
状況に最も適したアプローチを選択してください。コンボボックスのバインドされた値が最後に追加された行の数値の主キーである場合は、、、を実際に使用している名前に置き換えることpkey_field
でYourComboNameHere
、このような2番目の提案を試すことができます。SubformControl
Private Sub FindLastRecordAdded()
Dim rst As DAO.Recordset
Dim strCriteria As String
strCriteria = "[pkey_field] =" & Me.YourComboNameHere
Set rst = Me.SubformControl.Form.RecordsetClone
rst.FindFirst strCriteria
If rst.NoMatch Then
MsgBox "Oops. This shouldn't happen.", vbInformation
Else
Me.SubformControl.Form.Bookmark = rst.Bookmark
End If
Set rst = Nothing
End Sub