如何在 Ms Acess 中使用 IsNull() 表达式

问题描述

我正在尝试编写一个查询,其中输出应该是要发送给客户的未付发票(尚未支付或未全额支付)。目前我的查询(在 sql 视图中)如下所示:

SELECT Main.Reference,Main.Date,Main.Company,Main.[Claim No],Main.Invoice,Main.[Amount Paid]
FROM Main
WHERE (((Main.[Amount Paid])<[Invoice])) OR IsNull()
ORDER BY Main.Company;

IsNull 函数调用方括号中的表达式,我不知道应该在那里放什么。基本上,输出(报告)应显示已支付但未全额支付(支付的金额少于实际发票金额)或根本未支付的发票。目前它给了我一个报告,但它显示已付款但在报告上显示未付款的发票。

解决方法

您可以使用:

WHERE [Amount Paid] < [Invoice] OR IsNull([Amount Paid])

或(纯 SQL):

WHERE [Amount Paid] < [Invoice] OR [Amount Paid] Is Null