如何根据来自特定客户的信息运行查询



我有一个表格式的表单,它显示了我的主表中的所有信息。我希望能够双击记录(如果可能的话,记录选择器),然后根据该唯一客户的特定值运行查询。

目前,我能够单击记录选择器并运行通用查询。但是,我希望能够使查询不同取决于哪个用户被点击。这是我运行基于双击记录选择器查询的代码。

    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。

最新更新