How about making your source query dynamic? Something like {aircode):
Select Iif(Col(1)="", Col(2),Col(1)) As ColA, Iif(Col(1)="",Col(3),Col(2)) As ColB, Iif(Col(1)="",Col(4),Col(3)) As ColC, etc.
This would allow you to use the stuff starting from column 1 if column 1 contains data, or start...