我有一个MS-Access查询,它解释日期并为给定项目提供适当的状态。但是,此查询一次仅提供一个部门的数据。我试图消除子查询(在下面用红色突出显示),这样我就可以更容易地重新调整其他部门报告的查询。
以下是名为qryProjectStatusDPLphase1
的子查询:
SELECT tblProject_HIF_FCF_CBH.HifFcfCbh
, tblProject_HIF_FCF_CBH.ProjectNum
, tblProject_HIF_FCF_CBH.Stat_CondCommitDt AS CondCommit
, tblProject_HIF_FCF_CBH.Stat_FirmCommitDt AS FirmCommit
, tblProject_HIF_FCF_CBH.Stat_FundAgtRecdDt AS FundAgt
, tblProject_HIF_FCF_CBH.Stat_InDisbursemtDt AS Disbursemt
, tblProject_HIF_FCF_CBH.Stat_ServicingDt AS Servicing
FROM tblProject_HIF_FCF_CBH
WHERE (tblProject_HIF_FCF_CBH.HifFcfCbh) Like "FCF";
我遇到的问题是,当我将红色子查询直接插入到较大的操作中时,Access仍然坚持找到子查询。因此,当我从Access中强制删除独立子查询时,我收到一个错误,“Microsolft Access数据库引擎无法找到输入表或查询'qryProjectStatusDPLphase1'......”
为了确定问题,我通过一次添加一个查询来构建查询。当我单独运行红色子查询时,我没有错误。当我运行查询的红色+蓝色部分时,我再次没有错误。但是当我运行红色+蓝色+蓝绿色部分时,然后我收到错误。我怀疑表格的连接方式有问题,这会阻止红色+蓝色+蓝色正确地协同工作。
不幸的是,我花了好几天时间似乎无法破解代码,所以我希望从云中获得一些智慧。
答案 0 :(得分:0)
查看屏幕截图,您仍然尝试将嵌套查询t
加入子查询qryProjectStatusDPLphase1
:
AS t
INNER JOIN qryProjectStatusDPLphase1 As a
ON t.ProjectNum = a.ProjectNum
您需要使用嵌套查询替换qryProjectStatusDPLphase1
的第二个实例。
答案 1 :(得分:0)
您收到错误是因为您对内部qryProjectStatusDPLphase1
查询设置了别名,并且您尝试在外部查询中再次调用它。不幸的是,它超出了外部查询的范围,所以它不起作用。
如果您不想将qryProjectStatusDPLphase1
保存为Access查询,只需将查询的sql代码粘贴到INNER JOIN
的括号中即可:
...
FROM(SELECT tblProject_HIF_FCF_CBH.HifFcfCbh
, tblProject_HIF_FCF_CBH.ProjectNum
, tblProject_HIF_FCF_CBH.Stat_CondCommitDt AS CondCommit
, tblProject_HIF_FCF_CBH.Stat_FirmCommitDt AS FirmCommit
, tblProject_HIF_FCF_CBH.Stat_FundAgtRecdDt AS FundAgt
, tblProject_HIF_FCF_CBH.Stat_InDisbursemtDt AS Disbursemt
, tblProject_HIF_FCF_CBH.Stat_ServicingDt AS Servicing
FROM tblProject_HIF_FCF_CBH
WHERE (tblProject_HIF_FCF_CBH.HifFcfCbh) Like "FCF"
) AS qryProjectStatusDPLphase1, zProjectStatusDPL
)as t
INNER JOIN (SELECT tblProject_HIF_FCF_CBH.HifFcfCbh
, tblProject_HIF_FCF_CBH.ProjectNum
, tblProject_HIF_FCF_CBH.Stat_CondCommitDt AS CondCommit
, tblProject_HIF_FCF_CBH.Stat_FirmCommitDt AS FirmCommit
, tblProject_HIF_FCF_CBH.Stat_FundAgtRecdDt AS FundAgt
, tblProject_HIF_FCF_CBH.Stat_InDisbursemtDt AS Disbursemt
, tblProject_HIF_FCF_CBH.Stat_ServicingDt AS Servicing
FROM tblProject_HIF_FCF_CBH
WHERE (tblProject_HIF_FCF_CBH.HifFcfCbh) Like "FCF") AS a
...