单击表单中的记录以转到相同表单中的关联记录

时间:2019-07-08 19:42:07

标签: vba ms-access access-vba

寻找一种方法来单击表单中的记录,然后将其转到相同表单中的另一条记录。

示例:有一个列出产品和相关记录以及该产品的表格。记录之一是“已替换”字段。它将显示过去替换过的产品。

我希望能够单击“替换”字段并将其转到该产品记录。

txtProduct: Iphone6
txtReplaced: Iphone5 (click on Iphone5) -> and then shows

txtProduct: Iphone5
txtReplaced: Iphone4 

我研究了GoToRecord和FindRecord。最好的解决方法是使用txtReplaced中的一种将vba代码放入On Click事件过程中。只是不确定如何做到

编辑以包括使用RecordsetClone的尝试。现在,它给了我一个错误,那就是当我知道记录在那儿时找不到记录。对我在做什么错有任何见解吗?

Private Sub txtSupersedes_DblClick(Cancel As Integer)
Dim rs As Object
Set rs = Me.RecordsetClone
rs.FindFirst "[Model]='" & Me.txtSupersedes.Value & "'"
If rs.NoMatch Then
    MsgBox "Sorry, could not find Model '" & txtSupersedes & "' ", vbOKOnly, vbInformation
Else
    Me.Bookmark = rs.Bookmark
End If
rs.Close

End Sub

1 个答案:

答案 0 :(得分:0)

Private Sub txtSupersedes_DblClick(Cancel As Integer)

Dim rs As Object
Dim txtValue As String

txtValue = Me![txtSupersedes].Value


With Me.Parent.Form

    Set rs = .RecordsetClone
    rs.FindFirst "[Model]= '" & txtValue & "'"
    If rs.NoMatch Then
        MsgBox "Sorry, could not find Model '" & txtSupersedes & "' ", vbOKOnly, vbInformation
    Else
        .Bookmark = rs.Bookmark
    End If
    rs.Close

End With

End Sub