If a CROSSTAB will not achieve what you want, then
expression1: [record1] & [record2] & [record3]
can be achieved with
http://allenbrowne.com/func-concat.html
How many different values are possible in the field? Maybe:
SELECT [some field to group by], Max(IIf([fieldname]="value1", [fieldname], Null)) AS Field1, Max(IIf([fieldname]="value2", [fieldname], Null)) AS Field2, Max(IIf([fieldname]="value3", [fieldname], Null)) AS Field3, Max(IIf([fieldname]="value4", [fieldname], Null)) AS Field4 GROUP BY [some field to group by];