Others

How to Create an Access Status Expression for Completed, Overdue, and In Process

Bushra ParveenBushra Parveen Oct 12, 2026 870 views

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.

How to Create an Access Status Expression for Completed, Overdue, and In Process
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.
Before you start

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.

Solution 1Recommended

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.

1
Open Design View

Open your Access form, query, or report in Design View by right-clicking it in the Navigation Pane and selecting 'Design View'.

2
Locate the Control Source

Select the text box where you want the status to appear, open the Property Sheet (F4), and click on the 'Data' tab.

3
Apply the IIF Expression

Set the Control Source to the following expression: =IIF(NOT IsNull([CompleteDate]), "Completed", IIF([DueDate]<Date(), "Overdue", "In Process"))

4
Save and Test

Save your changes and switch to Form View or Datasheet View to verify that completed tasks correctly display 'Completed'.

Logic Sequence: By checking 'NOT IsNull([CompleteDate])' first, any record with a completion date skips the overdue evaluation completely.
Free Microsoft Office alternative

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. 1. Download WPS Office: Download and install WPS Office for free from the official website.
  2. 2. Create a Tracker in Spreadsheet: Open WPS Spreadsheet and create columns for 'Due Date' and 'Complete Date'.
  3. 3. Use IF Formulas: Use a nested IF formula like =IF(B2<>"", "Completed", IF(A2<TODAY(), "Overdue", "In Process")) to manage your tasks effortlessly.
100% free for essential office tasks like document editing and data trackingHighly compatible with Microsoft Office formats (DOCX, XLSX, PPTX)Lightweight software that runs smoothly on older devicesFamiliar, tabbed user interface for easy navigation and quick adaptation
microsoft office alternative - wps office

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.