I would create the Form and have each field listed out with a check box next to it, and have them select the ones that they wish to display.
So, they would make the selection, then click a command button.
Here is a simple example with three fields they would choose from, to give you an idea of how to do this:
Code:
Private Sub Command1_Click()
Dim strSQL As String
strSQL = "SELECT "
' Check first box
If Check1 = -1 Then
strSQL = strSQL & "[Field1],"
End If
' Check second box
If Check2 = -1 Then
strSQL = strSQL & "[Field2],"
End If
' Check third box
If Check3 = -1 Then
strSQL = strSQL & "[Field3],"
End If
' Check to make sure that they have made at least one selection
If Right(strSQL, 1) <> "," Then
MsgBox "You have not selected to show any fields!", vbOKOnly, "TRY AGAIN!"
Exit Sub
' If they have, drop the final comma and add From clause
Else
strSQL = Left(strSQL, Len(strSQL) - 1) & " FROM [Table1];"
End If
' Do view code before applying, uncomment line below
'' MsgBox strSQL
' Assign SQL code to Query
CurrentDb.QueryDefs("Query1").SQL = strSQL
' Open query to view results
DoCmd.OpenQuery "Query1", acViewNormal, acEdit
End Sub