Mr Smin's idea of using one long textbox which concatenates the field's would work with a vbTab or Chr(9) in between but you will have difficulty with two things: aligning the labels' caption using the same method and can grow. You can begin to see that this isn't going to be a easy unless HiTechCoach has some tricks up his sleeve
Hiding the controls isn't much of an issue it's the aligning of the controls that is the difficult bit. But here's the idea:
1. In the tag property of the controls (i.e. textboxes and combo boxes only), write a number that indicates their position in sequence. So the first textbox will be 1 and the last 12 (for example, if 12 was the max number of controls on the report). You don't need to worry about the labels as long as they are attached to the control.
2. On the Print event of that section (which I presume is the Detail section), run code to loop through all the controls (i.e. textboxes and combo boxes only) and hide them if they are Null or contain a zero length string.
3. Whilst looping through the controls, you save the tag property and the name of the visible controls into a multi-dimensional array or use something like a Collection or Dictionary object if you're familiar with these.
4. Based on what is in the array/collection, you can now check the Left + Width of the previous visible control and move the current control in the array to that position. Set a left margin of say 0.08cm of each control in the property sheet.
This is how I would do it and everything should align nicely if:
- 1. The Tab Order of that section is set appropriately and ...
- 2. the field has no data at all throughout the recordset.