按钮搜索子表单,然后查找主表单中的记录(Access VBA)

时间:2018-02-09 21:10:58

标签: vba access

我有这个包含子表单的ACCESS表单:Form & Subform 我试图创建一个搜索按钮(使用VBA)来按名称查找学生(学生名称不在主表单后面的表格中)。

我已经完成了第一步,即在子表单中搜索学生的姓名,但我在第二步中遇到了问题。我希望代码能够获取学生的CWID号并在主表单中找到匹配的记录。我该怎么做? (我目前的代码如下)

我已经尝试过DoCmd FindRecord和GoToRecord,但它完全让我感到难过。我是谷歌学习如何做到这一点,并认为我从根本上误解了一些东西,因此无法搜索或理解答案。任何帮助将不胜感激。

Private Sub btnSearch_Click()
Dim SQL As String
SQL = "SELECT [AWN Banner].CWID, [AWN Banner].FirstName, [AWN Banner].LastName, [AWN Banner].Freshman, [AWN Banner].Instructor, [AWN Banner].Course " _
    & "FROM [AWN Banner] " _
    & "RIGHT JOIN [AWNEntry] ON [AWN Banner].CWID = [AWNEntry].CWID " _
    & "WHERE [LastName] LIKE '" & Me.txtKeywords & "*' " _
    & "ORDER BY [AWN Banner].LastName "

    Me.subAwnObj.Form.RecordSource = SQL
    Me.subAwnObj.Form.Requery
    End Sub

1 个答案:

答案 0 :(得分:1)

当我创建搜索框时,我在底层表单源中放入了一个WHERE子句WHERE [field] LIKE "*" & [MySearchBox] & "*"我在子表单和主表单中添加了这样一个子句,我创建了一个JOIN到子表单记录,并定义了相同的WHERE子句。然后单击我请求所有记录源。