【问题标题】:SQL Access - one search field for many subformsSQL Access - 许多子表单的一个搜索字段
【发布时间】:2018-02-01 10:26:37
【问题描述】:

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

我正在构建一个表单来搜索几个不同的不相关的表(尽管部分相关)。我有一个表格,每个表格都有几个子表格(在本例中为 dbo_FSDB 和 dbo_HI)。我有几个字段,您可以在其中编写搜索条件。我希望能够在该字段中写入例如“名称”,它会在所有子表单中返回该名称的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 表。

谢谢

【问题讨论】:

  • 分配recordsources时不需要做.requery。
  • 为什么我不必做 .requery?

标签: sql vba ms-access


【解决方案1】:

重复你已经做过的,但是改变名字

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

【讨论】:

    猜你喜欢
    • 2018-07-09
    • 2020-03-10
    • 2012-07-19
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 2013-04-20
    相关资源
    最近更新 更多