Repeating Group Show/Hide Fields

Been looking on the forum for a while now and can’t find what I’m looking for. I’ll do my best to describe what I need done.

I have a database with 10 different fields in it. I need to build a report off those fields, but each user will need to see different fields. So I’m thinking of building a repeating group to display all the data, but trying to figure out a way of letting a user select which fields they want to see. Is this even possible? And would a repeating group work or another option like the excel table.

The last part of this is how to get it printable. There could be 100 entries which will span across multiple pages once printed. I’ll need the headers for the fields printed on each page, along with individual page totals.

Hope this makes sense