状态:
IIf([Ongoing]=True,"Ongoing",
IIf([DueOut]![Completed]=True,"Completed",
IIf([DueOut]![Suspense]<Date(),"Overdue",
IIf(DateDiff("d",Date(),[Suspense])<6,"This Week",
IIf(DateDiff("d",Date(),[Suspense]) Between 7 And 14,"Next Week","Greater than 2 Weeks",
IIf([Suspense]>30,date(),"greater than 30 days")
)
)
)
)
我一直在尝试添加“超过30天”的方面遇到错误。
答案 0 :(得分:2)
请在不能使用CASE函数时嵌套那么多IIF
语句。
CASE([Ongoing]=True,"Ongoing",
[DueOut]![Completed]=True,"Completed",
[DueOut]![Suspense]<Date(),"Overdue",
DateDiff("d",Date(),[Suspense])< 7,"This Week",
DateDiff("d",Date(),[Suspense]) < 14,"Next Week",
DateDiff("d",Date(),[Suspense]) < 30, "Greater than 2 Weeks"
True, "Greater than 30 days")
(还修正了一些语法)
答案 1 :(得分:1)
只是语法错误...你的倒数第二个IIf
语句与你编写它的方式有四个参数。看来当你将最后一个IIf
卡在那里时,你只是没有将它正确地整合到前一个IIf([Ongoing],"Ongoing",
IIf([DueOut]![Completed]=True,"Completed",
IIf([DueOut]![Suspense]<Date(),"Overdue",
IIf(DateDiff("d",Date(),[DueOut]![Suspense]) <6,"This Week",
IIf(DateDiff("d",Date(),[DueOut]![Suspense]) <14,"Next Week",
IIf(DateDiff("d",Date(),[DueOut]![Suspense]) <30, "Greater than 2 Weeks",
"Greater than 30 days"
)
)
)
)
)
)
中。试试这个:
Ongoing
现在它在语法上有效,但我会质疑你的逻辑。对于尚未到期的项目(本周,下周等),他们也Ongoing
?如果是这样,逻辑将永远不会到达“本周/下周”代码部分。它只会返回“正在进行”。如果我误解了如何使用IIf([DueOut]![Completed],"Completed",
IIf([DueOut]![Suspense]<Date(),"Overdue",
IIf(DateDiff("d",Date(),[DueOut]![Suspense]) <6,"This Week",
IIf(DateDiff("d",Date(),[DueOut]![Suspense]) <14,"Next Week",
IIf(DateDiff("d",Date(),[DueOut]![Suspense]) <30, "Greater than 2 Weeks",
"Greater than 30 days"
)
)
)
)
)
标志,那么你可能没问题,但是如果 - 通过“持续” - 你想要显示它们何时到期,那么你永远不会希望它返回“正在进行的”。您可能需要“已完成”,“过期”或 到期时的描述。 如果是这种情况(并且我不确定它是否是),那么试试这个:
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.animation.FadeTransition;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.scene.control.ProgressBar;
import javafx.scene.control.TitledPane;
import javafx.scene.layout.AnchorPane;
import javafx.stage.FileChooser;
import javafx.util.Duration;