我有一个挑战,只允许与平衡显示预订。我可以根据下面的语句筛选出债务人,但是如果此人更新了付款,它会在状态字段上给出一个错误结果。请有人能帮助一个语句只允许那些与我的字段语句返回结果。下面是查询的sql语句
SELECT "Print" AS Print, "Make Payment" AS MakePayment, tblBookingPayments.BookingPaymentID, tblBookings.GuestID_FK, tblBookingPayments.Discount,
CCur(DSum("[Amount]","qryCostsPaymentsUnion","[BookingID]=" & [BookingID] & " AND [Item]<>'" & "Payment" & "'")-([Discount])) AS TotalCost,
CCur(DSum("[Amount]","qryCostsPaymentsUnion","[BookingID]=" & [BookingID] & " AND [Item]='" & "Payment" & "'")) AS TotalPaid,
CCur(DLookUp("[Balance]","qryBookingPayments","[BookingID]=" & [BookingID] & " AND [TotalPaid]<>" & [TotalCost])) AS Status,
tblBookings.BookingID, tblBookingPayments.EmployeeID, tblBookingDetails.CheckInDate, tblBookingDetails.CheckOutDate
FROM (tblBookings INNER JOIN tblBookingDetails ON tblBookings.BookingID = tblBookingDetails.BookingID_FK) INNER JOIN tblBookingPayments ON tblBookings.BookingID = tblBookingPayments.BookingID_FK
ORDER BY tblBookings.BookingID, tblBookingDetails.CheckOutDate;
1条答案
按热度按时间f3temu5u1#
诸如ccur()之类的转换函数将在null时出错。如果没有匹配项,dlookup()将返回null。用nz()处理可能的空值
然后在该计算字段下包括筛选条件:
<>0
.