Import information from one MPD to another

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.
 
R

Rod Gill

Have you set the relevant EXT_ flags as described in the pjdb.htm file? They
are essential. Note that Project 2007 does not have the save to .mpd any
longer (or ODBC save to MDB).

--

Rod Gill
Microsoft MVP for Project

Author of the only book on Project VBA, see:
http://www.projectvbabook.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top