I have a subform like so:
When i click the 'select' button, i wish for the record on the main form to navigate to the appropriate one (the one which holds the same Staff ID).
What I have tried so far is for when the button is pressed to run the following vba:
Private Sub Command6_Click()
Dim rs As Object
Dim strLinkValue As String
strLinkValue = Forms![navigation form]![NavigationSubform]![teacher search qry subform]![Staff ID].Value
Set rs = Forms![navigation form]![NavigationSubform]![teacher search qry subform].Form.RecordsetClone
rs.FindFirst "[Staff ID] = '" & strLinkValue & "'"
Forms![navigation form]![NavigationSubform].Bookmark = rs.Bookmark
End Sub
But when I do this I get run-time error 438 (object doesn't support this property or method).
Any ideas? I feel like I'm over-complicating things.
You first got error 438 ( "Object doesn't support this property or method." ) at this line ...
Set rs = Forms![navigation form]![NavigationSubform].Recordset.Clone
Changing from Recordset.Clone
to Form.RecordsetClone
cured the error (at that line).
Unfortunately you then got error 438 again when attempting to set Bookmark
at this line ...
Forms![navigation form]![NavigationSubform].Bookmark = rs.Bookmark
The reason for the error at that point was because [NavigationSubform]
is a subform control, and a control does not have a Bookmark
property. You need to set the Bookmark
on the Form
contained within that control.
This code does what I believe you want. I tested it in Access 2010 with a copy of your database.
Dim rs As DAO.Recordset
Dim strLinkValue As String
strLinkValue = Me![Staff ID].Value
With Me.Parent.Form
Set rs = .RecordsetClone
rs.FindFirst "[Staff ID] = '" & strLinkValue & "'"
.Bookmark = rs.Bookmark
End With
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.