简体   繁体   中英

Subform to search record on main form

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM