Off the top of my head I would say use subforms. Do a checks, if data or no data on the underlying information and set the Top and Left properties hide some and 'move' others around depending on the outcome of the checks.
Otherwise the only other idea I can think of is to create 4 seperate forms and do a check and depending on the outcome call the 1 of the 4 that is appropriate.
-dK