No you can't easily 'hide' fields in a query. It would be possible using SQL statements that were created 'on the fly' to only include non blank fields. However, it's not something I've ever wanted to do, so I can't help.
Unfortunately, neither have I needed to play around with the visible property in VBA, so the only way I could help is by prototyping. Pressure at work means this is not going to be possible. Sorry.