When Microsoft Project encounters a circular relationship in a project
field, you will receive the following error message
Circular relationship in task <number>
and the following message will appear in the status bar of the project:
Circular:<project filename>[task number]
When these error messages appear, Microsoft Project will not calculate the
project.
Three situations in which you may receive a circular relationship error
message are:
- When you make a summary task a predecessor or successor to one of
its subordinate tasks.
-or-
- When you link a series of tasks, such that a predecessor or
successor task links back to itself.
-or-
- When you create a series of predecessor or successor relationships
of summary tasks and subtasks that indirectly points back to itself.
NOTE: Summary tasks can not have predecessors or successors
in Microsoft Project Windows version 1.0 and Microsoft Project for
the Macintosh version 1.1
To work around these circular reference problems, follow the appropriate
procedure below.
- If you make a summary task a predecessor or successor to one of its
subordinate tasks, you must delete the link to resolve the circular
reference. A subtask cannot be a successor to its own summary
task.
- If you link a series of tasks, such that a predecessor or successor
task links back to itself or if you create a series of predecessor
or successor relationships of summary tasks and subtasks that
indirectly points back to itself. To resolve the conflict, follow
the successor paths of the task referred to in the message. One of
the paths will lead back to the task referenced in the message.
Steps to Reproduce the Problems
To make a summary task a predecessor or successor to one of its subordinate
tasks:
- From the View menu, choose Task Entry.
- From the File menu, choose New.
- Enter 10 tasks in the Gantt Chart.
- Select tasks 2-6 and choose the demote button to make them subtasks
of task ID1.
- Select tasks 8-10 and choose the demote button to make them
subtasks of task 7.
- Select task 1 in the Gantt Chart.
- Select the Task Form.
- From the Format menu, select Predecessors and
Successors.
- To make task 2 a successor to task 1: in the Task Form, in the
ID column for Successors, type 2
and press the RETURN key twice.
This will generate the error message
Circular relationship in task 2.
To resolve this conflict, delete the link. A subtask cannot be a successor
to its own summary task.
To link a series of tasks such that a predecessor or successor task links
back to itself:
- Select the Name column in the Gantt Chart. This will
highlight all the tasks in the Gantt chart.
- On the toolbar, click the Unlink button.
- Select tasks 2-5 and click the Link button on the
toolbar.
- Select task 5 in the Gantt Chart.
- Select the Task Form.
- In the Task Form, type in 2 in the Id column for
Successors and press RETURN twice. This makes task 2 a
successor to task 5.
This will generate the error
Circular relationship in task 3.
To resolve the conflict, follow the successor paths of the task referred to in the message. One of the paths will lead back to the task referenced in the message.
To create a series of predecessor or successor relationships of summary
tasks and subtasks that indirectly points back to itself:
- Select the field title, Name, in the Gantt Chart. This
will highlight all the tasks in the Gantt Chart.
- From the Tool bar, click the Unlink icon.
- Highlight Task ID 8 in the Gantt Chart.
- Select the Task Form.
- In the Task Form, type in 3 in the
Id column for Successors and press return twice. This
makes Task ID 3 a successor to Task ID 8.
- Highlight Task ID 1 in the Gantt Chart.
- Select the Task Form.
- In the Task Form, type in 7 in the
Id column for Successors and press return twice. This
makes Task ID 7 a successor to Task ID 1.
This will generate the error
Circular relationship in task 1.
To resolve this conflict, follow the successor paths of the task referred to in the message. One of the paths will lead back to the task referenced in the message. If the path does not lead back to the referenced task, check the summary tasks for predecessors or successors for possible conflict such as a subtask in the successor summary is pointing back to a subtask in the predecessor summary.