I would do this in a different way, using shared variables.
Group by the Part#. There are going to be several formulas that you will need to create.
1) LineNumber:
shared numbervar lineNumber :=0;
"" //hides a 0 floating on the report
2) ResetDesc:
shared numbervar lineNumber := lineNumber + 1;
shared stringvar Desc := ""
3) DisplayDesc:
shared stringvar Desc
4) AddDesc:
shared stringvar Desc := Desc + {table.process_code}
"" // hides the desc (optional)
the first formula can go in the report header, as it is only initializing the line count variable.
The second formula would go in the group header, and this line would be suppressed
The third formula goes in the group footer, which is the only section displayed
the last formula goes in the details section of the report, and I would supress the details section.
That's pretty much it, like you said, a simple report. You might want to play with the spacing of the items as you add them to the Desc variable.
HTH