How to Create an Access Status Expression for Completed, Overdue, and In Process
Question details
The user needs to create an expression in Microsoft Access that correctly evaluates date fields to return task statuses of Completed, Overdue, or In Process without logical conflicts.

- Product
- Microsoft Access
- Device & OS
- not provided
- Scenario
- Creating a calculated field or control source expression in an Access database form or query to track the real-time status of records.
- Observed behavior
- The existing DueDate conditions overshadow the CompleteDate evaluation, causing the expression to incorrectly return 'In Process' or 'Overdue' even when a task is completed.
Ensure your Access table or query contains the exact field names referenced in your expression (such as CompleteDate and DueDate), and verify they are formatted as Date/Time data types.
Use the Correct Nested IIF Expression Structure
Restructure the IIF function to prioritize checking for the completion date first, ensuring completed tasks are never marked as overdue.
In Microsoft Access, the IIF function evaluates conditions from left to right. If a broader condition (like DueDate) is placed first, it will trigger before Access checks if the task is actually complete. Reversing the order fixes this.
Open your Access form, query, or report in Design View by right-clicking it in the Navigation Pane and selecting 'Design View'.
Select the text box where you want the status to appear, open the Property Sheet (F4), and click on the 'Data' tab.
Set the Control Source to the following expression: =IIF(NOT IsNull([CompleteDate]), "Completed", IIF([DueDate]<Date(), "Overdue", "In Process"))
Save your changes and switch to Form View or Datasheet View to verify that completed tasks correctly display 'Completed'.
Handle Blank Statuses for New Records
Add an additional layer to the IIF expression to prevent new, empty records from automatically displaying as 'In Process'.
Looking for a Free and Lightweight Office Suite? Try WPS Office
While Microsoft Access is a specialized tool for complex relational databases, WPS Office provides an excellent, free alternative for your everyday document, spreadsheet, and presentation needs. You can easily manage project statuses using IF formulas in WPS Spreadsheet without expensive subscriptions.
- 1. Download WPS Office: Download and install WPS Office for free from the official website.
- 2. Create a Tracker in Spreadsheet: Open WPS Spreadsheet and create columns for 'Due Date' and 'Complete Date'.
- 3. Use IF Formulas: Use a nested IF formula like =IF(B2<>"", "Completed", IF(A2<TODAY(), "Overdue", "In Process")) to manage your tasks effortlessly.

Frequently Asked Questions
Why does my Access expression always return 'Overdue' even when completed?
This happens when the logic checks the DueDate condition before the CompleteDate condition. If the DueDate has passed, Access returns 'Overdue' and stops evaluating the rest of the expression. Always place the most critical condition (checking if CompleteDate is not null) at the beginning.
Can I use the IIF function directly in an Access table?
Yes, you can use the IIF function within a Calculated Data Type field in an Access table. However, it is more commonly used in Queries or as a Control Source in Forms and Reports for better database performance and flexibility.
How do I represent the current date in Microsoft Access expressions?
Use the Date() function in Access expressions. It returns the current system date without the time portion, making it perfect for comparing against Due Dates to determine if a task is overdue.




