SQL Access - 许多子表单的一个搜索字段

时间:2018-01-31 21:43:10

标签: sql vba ms-access

我是一个完整的初学者,所以很好的解释会帮助我学习。

我正在构建一个搜索几个不同的不相关表格的表单(虽然部分相关)。我有一个表单,每个表都有几个子表单(在本例中为dbo_FSDB和dbo_HI)。我有几个字段可以编写搜索条件。我希望能够在字段中编写例如“Name”,它将在所有子表单中返回该名称的SELECT信息。我设法使它适用于一个子表单,但我正在努力使它能够搜索所有子表单。

这是我的代码:

Option Compare Database
Option Explicit

Private Sub btnName_Click()
 Dim SQL As String

 SQL = "SELECT dbo_FSDB.Name, dbo_FSDB.Number, dbo_FSDB.RCS, dbo_FSDB.Flag, dbo_FSDB.Type " _
    & "FROM dbo_FSDB " _
    & "WHERE Name LIKE '*" & Me.txtName & "*' " _

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

我工作的子表单的名称是'subInfo',它使用'txtName'条件从dbo_FSDB中提取信息。我想'txtName'用subHI子表格搜索dbo_HI表。

谢谢

1 个答案:

答案 0 :(得分:0)

只需重复您已完成的操作,但请更改名称

Private Sub btnName_Click()

    Dim SQL As String

    SQL = "SELECT dbo_FSDB.Name, dbo_FSDB.Number, dbo_FSDB.RCS, dbo_FSDB.Flag, dbo_FSDB.Type " _
    & "FROM dbo_FSDB " _
    & "WHERE Name LIKE '*" & Me.txtName & "*' " _

    Me.subInfo.Form.RecordSource = SQL
    Me.subInfo.Form.Requery

    'now replace dbo_FSDB with dbo_HI in the sql statement
    'and change the field names where necessary.
    SQL = "SELECT dbo_FSDB.Name, dbo_FSDB.Number, dbo_FSDB.RCS, dbo_FSDB.Flag, dbo_FSDB.Type " _
    & "FROM dbo_FSDB " _
    & "WHERE Name LIKE '*" & Me.txtName & "*' " _

    'and replace subInfo with subHI.
    Me.subInfo.Form.RecordSource = SQL
    Me.subInfo.Form.Requery
End Sub