搜索子表单的字段 - MS Access
Searching for Fields of Subform - MS Access
假设我有主窗体和子窗体,如图所示。
现在我正在尝试搜索 SubformID=6
MainformID=2,如果我发现 SubformID=6,那么我希望转到那个特定的 MainformID (e.g.MainformID=1)。
使用查找和替换无法完成。
请建议我正确的方法
我也读过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
感谢您提供屏幕截图 - 这清楚地表明了您的目的:)
假设我有主窗体和子窗体,如图所示。 现在我正在尝试搜索 SubformID=6 MainformID=2,如果我发现 SubformID=6,那么我希望转到那个特定的 MainformID (e.g.MainformID=1)。
使用查找和替换无法完成。
请建议我正确的方法
我正在为此寻找好的解决方案。
您可以使用 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
感谢您提供屏幕截图 - 这清楚地表明了您的目的:)