搜索子表单的字段 - MS Access

Searching for Fields of Subform - MS Access

假设我有主窗体和子窗体,如图所示。 现在我正在尝试搜索 SubformID=6 MainformID=2,如果我发现 SubformID=6,那么我希望转到那个特定的 MainformID (e.g.MainformID=1)。

Download Sample Project

使用查找和替换无法完成。

请建议我正确的方法 我也读过this thread,但看不懂。

我正在为此寻找好的解决方案。

您可以使用 DLookup:

Dim SearchedId As Long
SearchedId = 6
MainformId = DLookup("MainformID", "Subform", "SubformID = " & SearchedId & "")

然后可以使用DoCmd.SearchForRecord将主窗体定位到MainformId。

为了进一步充实 gustav 的回答,我会在您的表单中添加一个搜索字段和按钮,以便您可以使用一些控件移至记录。

Here's 您的文件已更改;看看我添加的搜索按钮的点击事件,它有以下代码(基本上是 gustav 已经提供的):

Private Sub cmdSearch_Click()

    Dim MainFK As Long

    MainFK = DLookup("MainformID", "Subform", "SubformID =" & Me.txtSearch)

    DoCmd.SearchForRecord acDataForm, "MainForm", acFirst, "MainformID=" & MainFK

End Sub

感谢您提供屏幕截图 - 这清楚地表明了您的目的:)