
I suspect that a student put a zero as an answer that was in a formulas question for the denominator resulting in a division by zero criteria checking. I can not confirm this because I am unable to see the results of this quiz. Temporarily, I was able to make a new quiz, but, I need to access the grades from the original quiz. I would appreciate any help in getting passed this error. I would like to save the other students grades.

I think your analysis of what is going on is probably right.
If you need a work-around, and you have direct access to the database, you could try fixing the data. Proceed at your own risk! You would need to start with something like
SELECT * FROM mdl_question_attempt_steps WHERE state = ''
(Or possible IS NULL, instead of = ''). If that finds data which seem to be related to this quiz attempt, then you could try changing the empty state value to 'gradedwrong' or something valid. That might recover the situation.
It is probably also the case that should handle this bad data better, or not let it be created in the first place. I created MDL-80127.
Thank you Tim,
I was able to recover the quiz for the other students. This student's quiz was deleted.
It is a formulas programming issue.... The student typed 0 for the input box that was for the denominator.
in the grading criteria I had it checking
_0/_1 == num/den
For this question I changed it to _0 == num && _1 == den
however, this will not work for other questions as I was giving partial credit for answers that were not reduced.
I will post in the forum for solutions to this programming issue.
I appreciate your attention to this issue, I imagine others may run into something similar.
Thank you for your help,
Wendy
I was able to recover the quiz for the other students. This student's quiz was deleted.
It is a formulas programming issue.... The student typed 0 for the input box that was for the denominator.
in the grading criteria I had it checking
_0/_1 == num/den
For this question I changed it to _0 == num && _1 == den
however, this will not work for other questions as I was giving partial credit for answers that were not reduced.
I will post in the forum for solutions to this programming issue.
I appreciate your attention to this issue, I imagine others may run into something similar.
Thank you for your help,
Wendy
回复Wendy Harper
本讨论区帖子已移除
本讨论区帖子的内容已移除,无法再访问。
I don't know whether I quite understand your question, but that is how it could work:
Edit the offending grading criteria from n/d == _0/_1 to n*_1 == d*_0 so that there won't be an error in case a student enters a 0.
Once you have updated the question, then you regrade the attempts in quiz.
This should work as long as the question itself is set to use "always the latest" because even for attempts in progress a regrade forces the newest version to be used.
Does this answer the question?
Anyway, I've seen that you could solve the problem following an alternative approach.
Edit the offending grading criteria from n/d == _0/_1 to n*_1 == d*_0 so that there won't be an error in case a student enters a 0.
Once you have updated the question, then you regrade the attempts in quiz.
This should work as long as the question itself is set to use "always the latest" because even for attempts in progress a regrade forces the newest version to be used.
Does this answer the question?
Anyway, I've seen that you could solve the problem following an alternative approach.