指定字段 'Ledger.ID' 可以引用 SQL 语句的 FROM 子句中列出的多个 table

The specified field 'Ledger.ID' could refer to more than one table listed in the FROM clause of your SQL statement

我不是新手,但也不是专业人士。我真的需要帮助解决这个问题。

关键: 总帐 - 主要 Table; 客户 - 客户 Table.

我的目标: 我正在使用访问权限进行记账,我想在日常记账中显示客户余额 sheet。

我做了什么

首先,我从 Ledger 和 Customer 中查询 (DailySheetQuery),它给出了每个客户的总余额

其次,我再次将 Ledger 和 DailySheetQuery 用于新查询 (DailySheet)。

第三,我将分类帐中的客户外键link编辑为 DailySheetQuery ID(原来是客户 ID)link将 DailySheetQuery 中的余额发送到分类帐中的客户

现在的问题—— DailySheet(查询)没有显示任何错误 - 但是当我用它来报告时,它显示了这个错误“指定的字段 'Ledger.ID' 可以引用 SQL 语句的 FROM 子句中列出的多个 table。”

我的代码: 查询 1:DailySheetQuery

SELECT [Customer Database].ID, Ledger.Customer, Sum([Recable]-[Received]) AS Balance
FROM [Customer Database] RIGHT JOIN Ledger ON [Customer Database].ID = Ledger.Customer
GROUP BY [Customer Database].ID, Ledger.Customer;

查询 2:日报

SELECT Ledger.ID, Ledger.[Transaction Type], Ledger.[Invoice Date], Ledger.Passenger, Ledger.Customer, Ledger.Employee, Ledger.Service, Ledger.Recable, Ledger.Received, Ledger.Payable, Ledger.Paid, Ledger.[Mode Of Payment], DailySheetQuery.ID, DailySheetQuery.Balance, IIf([Ledger].[Mode Of Payment]=2,[Ledger].[Received]-[Ledger].[Paid],0) AS CashInHand, [Ledger].[Recable]-[Ledger].[Payable] AS Profit, [Ledger].[Received]-[Ledger].[Paid] AS [Money]
FROM Ledger LEFT JOIN DailySheetQuery ON Ledger.Customer = DailySheetQuery.ID
WHERE (((Ledger.[Invoice Date])=Date()) AND ((Ledger.Employee)=[Employee #?]));

请查看我的问题并发送帮助。


P.S。我是论坛问答的新手,如果有什么遗漏请告诉我。

您可以在查询中别名分类帐:

SELECT 
    L.ID, L.[Transaction Type], .. , [L].[Received]-[L].[Paid] AS [Money]
FROM 
    Ledger AS L
LEFT JOIN 
    DailySheetQuery ON L.Customer = DailySheetQuery.ID
WHERE
    (((L.[Invoice Date])=Date()) AND ((L.Employee)=[Employee #?]));