我有一个表格式的表单,它显示了我的主表中的所有信息。我希望能够双击记录(如果可能的话,记录选择器),然后根据该唯一客户的特定值运行查询。
目前,我能够单击记录选择器并运行通用查询。但是,我希望能够使查询不同取决于哪个用户被点击。这是我运行基于双击记录选择器查询的代码。
Private Sub Form_DblClick(Cancel As Integer)
DoCmd.OpenQuery "contribution"
End Sub
例如,如果产品编号为01,Customer1的检查日期为06/18/13,我希望将此信息用于查询中的条件。
我真的不确定你是否可以根据记录选择器的信息运行查询。如果不是,我还能怎么做呢?我刚刚开始学习VBA在过去的一周,所以我是一个新手,但我有其他的编码经验,所以我学习相当快。任何帮助都是感激的!
不只是打开查询本身,我建议使用查询作为表单的记录源。这使您在外观上具有更大的灵活性。内容。
要打开表单,请尝试DoCmd.OpenForm。这允许您包含Where条件和过滤器来获得您想要的特定记录。该链接包含示例(如果这还不够,可以谷歌更多或在这里询问)。编辑
以您的案例为例,我们称您的主表单为FrmA
,称您的查询结果为FrmB
。在您的两个记录源(可以是表或查询)中,您的产品编号称为ProdNum
,检查日期为CheckDate
(它们不必在两个来源中称为相同的东西,但我试图保持简单)
在FrmA中,向Detail部分添加命令按钮。这个命令按钮将有一个Click事件。试试下面的代码:
DoCmd.OpenForm "FrmB",,,
"[ProdNum]=" & Me.ProdNum &
" and [CheckDate]=#" & Me.CheckDate & "#"
在这段代码中,我添加了换行符以提高可读性(您应该去掉它们)。此外,我假设ProdNum字段是数字类型,CheckDate字段是日期类型,这就是为什么我用#符号包围它。Me.ProdNum
引用FrmA
中的字段值,并将该值作为Where条件传递给FrmB。