以下是该方案。我有一个基本上用于管理文档的单一功能的数据库。我正在为这个例子处理两个表。
表1:具有以下字段DOCUMENT_NUM
,PK的文档表; DOCUMENT_NAME
;表1的一对多关系,基于DOCUMENT_NUM
表2:具有字段DOCUMENT_NUM
,PK的文档的修订历史表; REVISION_DATE
; REVISION_NUM
。
我有一个表格输入表1的信息,另一个表格将信息输入表2,将DOCUMENT_NUM
拉出表格1中的标准。
我的问题:我有一个搜索表单,我希望能够通过不仅搜索表1中的参数而且还搜索表2中的表1来打开表1。 。示例:搜索在## / ## / ####和## / ## / ####之间修改的文档,但会打开表单1,其中包含“DOCUMENT_NUM”,“DOCUMENT_NAME”等。但是我不能这样做从1开始的搜索与表1绑定,我查询的信息在表2中。
搜索使用DoCmd.OpenForm "Documents",,,strQuery
其中strQuery = "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&amp;&amp; [SOP_REVISIONS] ==表2)
答案 0 :(得分: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。