B
Biggles
I am trying to import data from a distributed (ADODB.RECORDSET of
RS_TASKS_OLD) MS PROJECT (2003) MPD file back into the master. For some
reason, things like the Constraint type are changing at the task level, and
the units and hours are changing at the assignment level. I see in the
PJDB.htm file, there is a section on Standard Processing order.
Standard processing order
The standard processing order for task fields is as follows:
Actual Duration
Remaining Duration
Duration
Leveling Delay
Start
Finish
Constraint Type
Constraint Date
Actual Start
Actual Finish
Stop
Resume
Percent Complete
Actual Work
Remaining Work
Work
Percent Work Complete
Fixed Cost
Actual Cost
When I import the changes from the distributed copy, I use this code to
import information at the task level (I have excluded the data for
EXT_EDIT_REF_DATA):
v_TASK_SSQL_END = "EXT_EDIT_REF_DATA = " & "'" &
v_EXT_EDIT_TASKS & "' "
If IsNull(RS_TASKS_OLD!TASK_ACT_START) = False Then 'IF 2
v_TASK_SSQL_END = v_TASK_SSQL_END & ", TASK_ACT_START = #" &
RS_TASKS_OLD!TASK_ACT_START & "# "
End If
If IsNull(RS_TASKS_OLD!TASK_ACT_FINISH) = False Then 'IF 2
v_TASK_SSQL_END = v_TASK_SSQL_END & ", TASK_ACT_FINISH = #"
& RS_TASKS_OLD!TASK_ACT_FINISH & "# "
End If 'END IF 2
If IsNull(RS_TASKS_OLD!TASK_CONSTRAINT_DATE) = False Then
v_TASK_SSQL_END = v_TASK_SSQL_END & ", TASK_CONSTRAINT_DATE
= #" & RS_TASKS_OLD!TASK_CONSTRAINT_DATE & "# "
End If
'update values in msp_tasks table (new database)
'DO NOT BRING ACTUAL TIME OR DURATION IN SINCE THIS IS GOING TO
BE UPDATED CENTRALLY
'DO BRING IN ACTUAL DATES
ssql(3) = "UPDATE MSP_TASKS " & _
"SET TASK_DUR = " & RS_TASKS_OLD!TASK_DUR & ", " & _
"TASK_START_DATE = #" &
RS_TASKS_OLD!TASK_START_DATE & "#, " & _
"TASK_FINISH_DATE = #" &
RS_TASKS_OLD!TASK_FINISH_DATE & "#, " & _
"TASK_WORK = " & RS_TASKS_OLD!TASK_WORK & ", " & _
"TASK_CONSTRAINT_TYPE = " &
RS_TASKS_OLD!TASK_CONSTRAINT_TYPE & ", " & _
"TASK_HAS_NOTES = " & RS_TASKS_OLD!TASK_HAS_NOTES
& ", " & _
v_TASK_SSQL_END & " " & _
"WHERE PROJ_ID = " & v_projid & " AND " & _
"TASK_UID = " & v_TASK_ID
conn_master.Execute ssql(3)
Hopefully, it is clear that I do not bring in all the task fields described
above, but I bring in the fields that I care about. When I open the file, I
have some changes, for instance, I have some tasks, that change from a Start
no Earlier Than constraint to a Finish no earlier than constraint. I have
some tasks, that have predecessors, switch from a ASAP to Finish no earlier
than. I don't understand this since I specifically bring in the constraint
date (if not null) and the constraint type.
I think my quesiton is - am I missing something obvious, but also, should I
just Update every field in the Standard Processing Order list. I have lost a
lot of days (and nights) on this problem, and need at least something to
investigate.
RS_TASKS_OLD) MS PROJECT (2003) MPD file back into the master. For some
reason, things like the Constraint type are changing at the task level, and
the units and hours are changing at the assignment level. I see in the
PJDB.htm file, there is a section on Standard Processing order.
Standard processing order
The standard processing order for task fields is as follows:
Actual Duration
Remaining Duration
Duration
Leveling Delay
Start
Finish
Constraint Type
Constraint Date
Actual Start
Actual Finish
Stop
Resume
Percent Complete
Actual Work
Remaining Work
Work
Percent Work Complete
Fixed Cost
Actual Cost
When I import the changes from the distributed copy, I use this code to
import information at the task level (I have excluded the data for
EXT_EDIT_REF_DATA):
v_TASK_SSQL_END = "EXT_EDIT_REF_DATA = " & "'" &
v_EXT_EDIT_TASKS & "' "
If IsNull(RS_TASKS_OLD!TASK_ACT_START) = False Then 'IF 2
v_TASK_SSQL_END = v_TASK_SSQL_END & ", TASK_ACT_START = #" &
RS_TASKS_OLD!TASK_ACT_START & "# "
End If
If IsNull(RS_TASKS_OLD!TASK_ACT_FINISH) = False Then 'IF 2
v_TASK_SSQL_END = v_TASK_SSQL_END & ", TASK_ACT_FINISH = #"
& RS_TASKS_OLD!TASK_ACT_FINISH & "# "
End If 'END IF 2
If IsNull(RS_TASKS_OLD!TASK_CONSTRAINT_DATE) = False Then
v_TASK_SSQL_END = v_TASK_SSQL_END & ", TASK_CONSTRAINT_DATE
= #" & RS_TASKS_OLD!TASK_CONSTRAINT_DATE & "# "
End If
'update values in msp_tasks table (new database)
'DO NOT BRING ACTUAL TIME OR DURATION IN SINCE THIS IS GOING TO
BE UPDATED CENTRALLY
'DO BRING IN ACTUAL DATES
ssql(3) = "UPDATE MSP_TASKS " & _
"SET TASK_DUR = " & RS_TASKS_OLD!TASK_DUR & ", " & _
"TASK_START_DATE = #" &
RS_TASKS_OLD!TASK_START_DATE & "#, " & _
"TASK_FINISH_DATE = #" &
RS_TASKS_OLD!TASK_FINISH_DATE & "#, " & _
"TASK_WORK = " & RS_TASKS_OLD!TASK_WORK & ", " & _
"TASK_CONSTRAINT_TYPE = " &
RS_TASKS_OLD!TASK_CONSTRAINT_TYPE & ", " & _
"TASK_HAS_NOTES = " & RS_TASKS_OLD!TASK_HAS_NOTES
& ", " & _
v_TASK_SSQL_END & " " & _
"WHERE PROJ_ID = " & v_projid & " AND " & _
"TASK_UID = " & v_TASK_ID
conn_master.Execute ssql(3)
Hopefully, it is clear that I do not bring in all the task fields described
above, but I bring in the fields that I care about. When I open the file, I
have some changes, for instance, I have some tasks, that change from a Start
no Earlier Than constraint to a Finish no earlier than constraint. I have
some tasks, that have predecessors, switch from a ASAP to Finish no earlier
than. I don't understand this since I specifically bring in the constraint
date (if not null) and the constraint type.
I think my quesiton is - am I missing something obvious, but also, should I
just Update every field in the Standard Processing Order list. I have lost a
lot of days (and nights) on this problem, and need at least something to
investigate.