Hi, Joe again!
Maybe function in such form can help you? I tried it by using simple query - it works OK.
Function SelectTopValXwithAllFields(strTdfName As String, _
strTopFieldName As String, _
Optional lngTopValX As Long = 10, _
Optional intSortOrder As Integer = 1, _
Optional DefType As Integer = 1) _
As String
'strTdfName -> table name
'strTopFieldName -> field name for TopValues
'lngTopValX -> Top amount
'intSortOrder -> query Order By -> 1 = "ASC", 2="DESC"
'DefType -> opject type -> 1=Table, 2=Query
Dim strSQL As String
Dim tdf As TableDef
Dim qdf As QueryDef
Dim fld As Field
If lngTopValX = 0 Then
lngTopValX = 1
End If
strTdfName = Trim(strTdfName)
If DefType = 1 Then
For Each tdf In CurrentDb.TableDefs
If tdf.Name = strTdfName Then
For Each fld In tdf.Fields
If fld.Name <> strTopFieldName Then
If strSQL <> "" Then
strSQL = strSQL & ", "
End If
strSQL = strSQL & "[" & strTdfName & "].[" & fld.Name & "]"
End If
Next fld
Exit For
End If
Next tdf
Else
For Each qdf In CurrentDb.QueryDefs
If qdf.Name = strTdfName Then
For Each fld In qdf.Fields
If fld.Name <> strTopFieldName Then
If strSQL <> "" Then
strSQL = strSQL & ", "
End If
strSQL = strSQL & "[" & strTdfName & "].[" & fld.Name & "]"
End If
Next fld
Exit For
End If
Next qdf
End If
strSQL = "Select TOP " & lngTopValX & " [" & strTdfName & "].[" & strTopFieldName & "], " & strSQL & " From [" & strTdfName & "] Order By [" & strTopFieldName & IIf(intSortOrder = 1, "] ASC", "] DESC"

& ";"
SelectTopValXwithAllFields = strSQL
End Function
Aivars