This isn't an Access issue, it is an SQL issue. In an aggregate query, EVERY field must be aggregated in some way. The default is group by. But you may wish to use first, last, min, or max for various reasons. Numeric fields are normally aggregated with an arithmetic aggregate function such as Sum() or Avg(). Consider the following set of records and hopefully you will understand the issue:
Sam, EnglishI, 85, 1/4/3
Sam, EnglishI, 77, 1/15/3
Sam, AlgebraI, 92, 1/5/3
Sam, AlgebraI, 80, 1/6/3
Pat, EnglishI, 95, 1/4/3
Pat, EnglishI, 92, 1/15/3
Pat, AlgebraI, 100, 1/5/3
Pat, AlgebraI, 99, 1/6/3
You may want the Average grade for each student:
Select Student, Avg(Grade) As StudentAvg
From YourTable Group by Student;
You may want the Average grade for each subject by student:
Select Student, Subject, Avg(Grade) as StudentGradeAvg
From YourTable Group by Student, Subject;
You may want the Average grade for each subject:
Select Subject, Avg(Grade) As SubjectAvg
From YourTable Group by Subject;
Notice that two of these queries omit a field. If they did not, they would not aggregate as intended. Also notice that none of the queries includes the date field. Including the date field would prevent any aggregation from taking place. The output recordset would be identical to the input recordset.
Your problem is that you are including a field in your query which cannot be properly aggregated.
Sometimes you may want to include details with the aggregated values. This requires two queries. One to aggregate and a second to join the aggregation query back to the main table to obtain some other piece of information.