在MS Access中创建动态查询

时间:2019-03-02 08:44:39

标签: ms-access access-vba

我通过此查询创建报告:

select DocumentNumber,DocumentDate, from Documents where DocumentNumber ="Feb_345"

但是我想要一个动态查询。我想创建一个表单,用户将在其中输入一个文档号,此后,我将此数字保存在OnClick函数中的字符串变量中,然后,我将该文档号作为where statement中的参数发送给我的查询。因此,当用户打开报告时,他将看到他先前在表单中输入的文档报告。

我遇到了一个问题,因为当我在vba脚本中保存文档编号时,我不知道如何发送此变量作为参数进行查询。

1 个答案:

答案 0 :(得分:0)

您可以将查询减少为:

select DocumentNumber, DocumentDate from Documents

,然后打开为选定文档编号过滤的报告:

Dim DocumentNumber As String
Dim WhereCondition As String

WhereCondition = "DocumentNumber = '" & YourSelectedDocumentNumber & "'"    
DoCmd.OpenReport NameOfYourReport, acViewNormal, , WhereCondition

对于两个或多个参数,展开Where条件:

select DocumentNumber, Author, DocumentDate from Documents

和:

Dim WhereCondition As String

WhereCondition = "DocumentNumber = '" & YourSelectedDocumentNumber & "' And Author = '" & Author & "'"    
DoCmd.OpenReport NameOfYourReport, acViewNormal, , WhereCondition