3

这是场景。我有一个数据库,它基本上是管理文档的单一功能。对于此示例,我正在处理两个表。

表1:具有以下字段的文档表DOCUMENT_NUM,PK;DOCUMENT_NAME; 等。与表 1 的一对多关系,具有基于的参照完整性DOCUMENT_NUM

表2:带字段的文档修订历史表DOCUMENT_NUM,PK;REVISION_DATE; REVISION_NUM.

我有一个输入表 1 信息的表格,还有一个输入表 2 信息的表格,其中包含DOCUMENT_NUM表格 1 中的标准。

我的问题:我有一个搜索表单,我希望能够打开绑定到表 1 的表单 1,方法是不仅搜索表 1 中的参数,还搜索表 2 中的参数。示例:搜索在 ## 之间修改的文档/##/#### 和 ##/##/#### 但将使用“DOCUMENT_NUM”、“DOCUMENT_NAME”等打开表格 1。但是我无法进行搜索,因为 From 1 绑定到表 1我查询的信息在表 2 中。

搜索使用DoCmd.OpenForm "Documents",,,strQuerywherestrQuery = "1=1 AND [SOPS].[SOP_NUMBER] = 'QA-001' AND [SOP_REVISIONS].[REVISION_DATE] >= #12/02/2011# AND [SOP_REVISIONS].[REVISION_DATE] <= #12/02/2012#"

([SOPS] == 表 1 && [SOP_REVISIONS] == 表 2)

4

1 回答 1

2

怎么样:

strQuery = "1=1 AND [SOPS].[SOP_NUMBER] = 'QA-001' " _
    & "AND DOCUMENT_NUM IN (" _
    & "   SELECT DOCUMENT_NUM FROM [SOP_REVISIONS] " _
    & "   WHERE [SOP_REVISIONS].[REVISION_DATE] >= #12/02/2011# " _
    & "   AND [SOP_REVISIONS].[REVISION_DATE] <= #12/02/2012#)"

换句话说,使用子查询从 [SOP_REVISIONS] 中获取相关的 DOCUMENT_NUM。

于 2012-12-20T22:22:28.877 回答