instead of a cross tab query, which i never use in a report,
use a regular select query with an Iif statement to select the value for the specific column.
select Iif([Type1]&"_"&[Sub1]="Type1_Sub1",[Value],0) As A, Iif([FieldName]="Type1_Sub2,[Value],0) As B, etc
then the report is fixed, the...