我正在使用Access。 我的查询是搜索会计核算表,并从表格的标准中产生记录。最后一个标准,一个复选框,我遇到了问题。 我希望能够包含/排除已支付的记录。付款记录在另一个表中。
我的表单上有一个复选框“显示已付款项”。取消选中时,查询应从“付款”表中排除具有匹配发票的项目。
我的SQL:
SELECT Main.Invo, Main.InvoDate, Main.Amt, Main.PartyId, Main.TboInvoRloc, Main.TboDocNo, Main.TboPax
FROM Main
WHERE Main.RecSrce<>"Accounts"
AND Main.InvoDate BETWEEN [Forms]![Report]![startDate] AND [Forms]![Report]![endDate]
AND Main.PartyId =IIF([Forms]![Report]![PartyID] IS NULL, PartyID, [Forms]![Report]![PartyID])
AND Main.Status = IIF([Forms]![Report]![Status] IS NULL, Status, [Forms]![Report]![Status])
AND Main.Ac1 = IIF([Forms]![Report]![Ac1] IS NULL, Ac1, [Forms]![Report]![Ac1])
AND Main.Ac2 = IIF([Forms]![Report]![Ac2] IS NULL, Ac2, [Forms]![Report]![Ac2])
AND IIF([Forms]![Report]![PaidCheck]=-1,
NOT EXISTS
(
SELECT * FROM Payments
WHERE Payments.DueInvo = Main.Invo
));
我知道这是一个相当简单的问题,但总体而言我还是很环保的,在线示例对于我来说通常太复杂了。