我想要做的是在子窗体上运行一个宏,它将文本和复选框中的几个值传递给我写的参数查询 . 我使用了一个按钮和事件构建器来使用 OpenQuery 宏来运行我的查询 . 我的问题是我无法在宏的"update parameters"部分获得正确的语法 .

  • 主窗体名为"Main Navigation"

  • 子表单是"Procedure Balances by Date"

  • 控件是"ProfileBox"或"ProfileCheck"之类的东西

我尝试了很多语法变体 . 如果我将下面的内容放入宏中,它最终只是向我询问参数 .

[Forms]![Main Navigation]![NavigationSubform].[Form]![ProfileCheck]

我试图通过白痴证明这个东西,所以我希望输入通过我在文本框上的各种输入掩码,所以它们来自窗体上的控件非常重要 . 此外,我在多个地方使用此查询,因此它必须是参数查询 . 我无法直接参考表格 .

请帮忙!我无法在任何地方找到合适的语法 .

编辑:这是我的查询的语法:

PARAMETERS ProfCheck Bit, ProfBox Text (255), DateCheck Bit, StartDate DateTime, 
           EndDate DateTime, PracticeCheck Bit, 
           PracticeBox Text (255), ProcCheck Text (255), ProcBox Bit;

SELECT [Output Table].*
FROM [Output Table]
WHERE  (([ProfCheck] = 0 OR ( [ProfBox]=[profile] ) ) AND
          ([PracticeCheck] = 0 OR ( [PracticeBox]=[Practice Name] ) ) AND
          ([ProcCheck] = 0 OR ([Procedure Code] LIKE (([ProcBox])) ) ) AND
          ([DateCheck] = 0 OR ((([StartDate])<= [Date Svc From]) AND   
          (([EndDate]) >= [Date Svc From] ))));

我不认为这是相关的,因为我只是问如何从子表单传递参数 . 一旦参数存在,查询就可以正常工作 .

你是对的,ProfileCheck是一个复选框 .

我没有使用VBA . 我正在使用Access中内置的“OpenQuery”宏 .