Ms access 2010 运行Total的SQL代码无法识别表名

Ms access 2010 运行Total的SQL代码无法识别表名,ms-access-2010,cumulative-sum,Ms Access 2010,Cumulative Sum,我有一个关于在MS Access 2010中创建与此处类似的运行总计的问题: 然而,当我从该线程输入等效代码时,我得到一个错误,说找不到数据库Access似乎认为我指定的表就是数据库名称 以下是来自原始线程的代码:- SELECT hbep1.EmployeeID, hbep1.PayPeriodID, ( SELECT Sum(hbep2.HoursUsed) FROM Hours_by_Empl_PP hbep2 WHERE hbep2.Employee

我有一个关于在MS Access 2010中创建与此处类似的运行总计的问题:

然而,当我从该线程输入等效代码时,我得到一个错误,说找不到数据库Access似乎认为我指定的表就是数据库名称

以下是来自原始线程的代码:-

SELECT hbep1.EmployeeID, hbep1.PayPeriodID, 
    (
    SELECT Sum(hbep2.HoursUsed) 
    FROM Hours_by_Empl_PP hbep2
    WHERE hbep2.EmployeeID=hbep1.EmployeeID 
        AND (hbep2.PayPeriodID Between hbep1.[PayPeriodID]-3 
        And hbep1.[PayPeriodID])
    ) AS Sum_of_Hours_last_4_PPs
FROM Hours_by_Empl_PP hbep1;
以下是我在查询中输入的代码:-

SELECT 
    V4_Try.ID_NIS_INV_HDR,
    V4_Try.ID_ITM, 
    V4_Try.RunTot3, 
    V4_Try.BomVsActQty,
    DMin("RunTot3","V4_Try","[ID_Itm]=" & [ID_ITM]) AS IDItmMin,  
    DMax("RunTot3","V4_Try","[ID_Itm]=" & [ID_ITM]) AS IDItmMax, 
    (
       SELECT Sum([V4_Try].[BomVsActQty])
       FROM [V4_Try].[BomVsActQty]
       WHERE [V4_Try].[ID_ITM]=[V4_Try].[ID_ITM]
           AND (IDItmMax < IDItmMin) 
    ) AS RunTot6
FROM V4_Try
ORDER BY V4_Try.ID_ITM, V4_Try.RunTot3;

首先运行此查询:

SELECT * FROM V4_Try;
然后针对复杂性进行开发。先生成嵌套查询,然后再生成其他查询。当您知道它运行时,请尝试添加别名,然后添加DMax函数,等等。隔离出现错误的点

这是修复查询的过程


哦,请指定Access引发的精确错误。此外,如果这是从VBA运行的,请让我们知道,因为这会影响您的故障排除

我注意到的一点是,主查询使用DMax和DMin创建一些别名列

...
DMin("RunTot3","V4_Try","[ID_Itm]=" & [ID_ITM]) AS IDItmMin,  
DMax("RunTot3","V4_Try","[ID_Itm]=" & [ID_ITM]) AS IDItmMax,
...
然后子查询尝试在其WHERE子句中使用这些别名

(
   SELECT ...
   WHERE...
       AND (IDItmMax < IDItmMin) 
) AS RunTot6

我很确定子查询不知道父查询中的列别名,因此它们可能是无法识别的项。

+1-请继续。我不知道该怎么说,但我肯定这让我很困扰。