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