Quello che succede è OVVIO...!
Le CrossQuery sono le cose più brutte da gestire... perchè hanno un NUMERO di COLONNE VARIABILE... ne consegue che se costruisci il REPORT con le tabelle vuote hai poche colonne e pertanto pochi CONTROLLI... se aumenti i dati potrebbero aumentare le colonne e di conseguenza i Campi devono essere riadattati...!
Per gestire con un Report le CrossQuery devi mettere mano al CODICE... e devi essere abbastanza bravino, in quanto prima devi sapere il NUMERO MASSIMO di COLONNE che andrai a creare, creare il REPORT dimensionato per il MAX, quindi da CODICE quando si apre il REPORT andare a controllare NumeroColonne per nascondere i Controlli che non devono essere visualizzati, a quel punto ASSOCI i Controlli(ControlSource) al campo e vai a RIPOSIZIONARE tutti i controlli VISIBILI per avere la massima spaziatura...!
E' semplice ma devi avere un pò di basi.
Trovi un'esempio di quello che ho detto in questo Articolo:
Sezione REPORT
4.7 Report dinamici per rappresentazioni a campi incrociati
Ciao