Whoops! My first answer was off as I wrongly concluded that you were putting
the courses in different fields.
Still you do not want to store the Quality Points in the table. Why? Let's
say that you find an error with a Grade and change it. If you forget to also
change the Quality Point value, you have inconsistant data. Instead you
should compute the Quality Points as needed in a query like so. Note: I'm
assuming that you want to do things by Student.
SELECT GradePoint.StudentID, GradePoint.Course,
GradePoint.Grade, GradePoint.Credits,
[Grade]*[Credits] AS QualityPoints
FROM GradePoint;
Now you were talking about a total. This could be done in a similar query OR
using the same query in a Report by using the sorting and grouping options.
Below will give you the Quality Points by Student.
SELECT GradePoint.StudentID,
Sum(GradePoint.Grade) AS SumOfGrade,
Sum(GradePoint.Credits) AS SumOfCredits,
Sum([Grade]*[Credits]) AS QualityPoints
FROM GradePoint
GROUP BY GradePoint.StudentID;
One other thought: If the Course always has the same Credits, you don't need
to put in the Credit values in the GradePoint table each time. You could have
a table with Course_Information which would have the Course and Credits in
it. Then you could join the tables on the Course field. The SQL would look
something like:
SELECT GradePoint.Course,
GradePoint.Grade,
Courses.Credits,
[Grade]*[Credits] AS QualityPoints
FROM GradePoint, Courses
WHERE Courses.Credits = GradePoint.Credits ;