How are the actual results of your data stored. If you're storing them in a properly normalized table it should look somehting like this: (response of 0 indicates an N/A)
ID : QuestionID : QuestionResult : TesteeID : MaxPoints
With data like this:
ID QuestionID QuestionResult TesteeID MaxPoints
1 1 1 1 3
2 2 1 1 3
3 3 2 1 3
4 4 3 1 3
5 5 2 1 3
6 6 1 1 3
7 7 2 1 3
8 8 2 1 3
9 9 1 1 3
10 10 3 1 3
11 11 2 1 3
12 12 2 1 3
13 13 2 1 3
14 14 2 1 3
15 15 1 1 3
16 16 0 1 3
17 17 0 1 3
18 18 1 1 3
19 19 3 1 3
20 20 2 1 3
the query:
Code:
SELECT Sum(Table1.QuestionResult) AS SumOfQuestionResult, Table1.TesteeID, Sum(IIf([QuestionResult]=0,0,[MaxPoints])) AS TotalPoints
FROM Table1
GROUP BY Table1.TesteeID;
Would yeild the results:
TesteeID SumOfQuestionResult TotalPoints
1 33 54
Then use another query to calculate your percentages.
Unfortunely I don't know enough about your table structurs to know if this will help you. If you do have values stored horizontally instead of Vertically, then you have a real challenge on your hand and should consider redesigning your tables before moving on any further.