MS Access查询出错

时间:2015-05-22 18:39:40

标签: sql ms-access ms-access-2007

我遇到了Microsoft Access 2007上的查询问题。我从Access的查询编辑器运行时已经开发了正确运行的查询。我的问题是,我在事件 On Open '处理程序。我的目的是将此查询分配给该报告的属性RecordSource,允许使用我想要的任何查询动态创建报告。

当我实际打开并运行报告时会出现问题。当事件Open的处理程序完成其执行时,我得到错误:您试图执行不包含指定表达式的查询" ID"作为聚合函数的一部分

这是查询(在打开事件处理程序的VBA代码中)。

Private Sub Report_Open(Cancel As Integer)
   Dim Query As String
   Dim WhereClause As String

   WhereClause = [Forms]![Main Form]!
                 [WindowPrintOptions]![CustomizedReport]![txtResponsibility]

Query = "SELECT AllInfo.* 
         FROM (SELECT i.ID, 
                      i.[Number], 
                      i.Responsability.Value AS Responsability 
               FROM tbl_Projects AS p RIGHT JOIN 
                   ((tb_Items AS i LEFT JOIN tb_F_projects AS fp 
                     ON i.ProjectID = fp.Id) LEFT JOIN 
                     tb_items_comments AS ic ON ic.ItemID = i.ID) 
                     ON i.ProjectID = p.Id WHERE ( (i.Status = 'Status 1') 
                     AND (i.DateOpened >= #9/9/2014#) AND
                    (i.DateOpened <= #9/11/2014#) AND 
                    (i.DueDate >= #9/12/2014#) AND (i.DueDate <= #9/12/2014#) 
                    AND (i.Category = 'C1') AND (i.Deliverables LIKE '*' 
                    & 'dates' & '*') AND (i.Responsability.Value = 'Some name') 
                   ) ) AS AllInfo"
               Me.RecordSource = Query
    End Sub

请注意,我没有使用“WhereClause&#39;然而。它将在之后插入查询中。我只是为了单独测试查询而删除它,并检查它是否正常,没有任何更改,发现它实际上并不是。所以,请记住:当我从MS Access查询构建器运行它时,这个查询可以正常工作,但动态地不在这里。可能是什么问题?

0 个答案:

没有答案