MS ACCESS VBA 按具体情况排序

MS ACCESS VBA ORDER BY CASE When

我很多orders in my Factory.

我们完成工作的正常时间是 10 天,但有时我们向客户承诺会更短(假设 5 天)。

我试图构建一个 SQL 订单 minimum Date of the two columns:

SELECT id, Status, DeliveryDate, PromiseDate
FROM CustomerOrderT
WHERE Status > 2 and Status <7 
ORDER BY CASE WHEN DeliveryDate > PromiseDate then PomiseDate ELSE DeliveryDate END;

但是我从 ms access 收到一条问题消息。也许写对了 附上问题按摩

谢谢

在 MS Access 中,您必须使用 IIF 而不是 Case,如下所示:

SELECT id, Status, DeliveryDate, PromiseDate
FROM CustomerOrderT
WHERE Status > 2 and Status <7 
ORDER BY IIF(DeliveryDate > PromiseDate, PromiseDate, DeliveryDate);