Umfragen und Multiple-Choice-Tests - Teil 3

Falsche und richtige Fragen ermitteln

Erstellen Sie dazu eine weitere Abfrage, die als Quelltabelle die eben erstellte Abfrage enthält. Darin lassen Sie dann das Feld Frage und das berechnete Feld korrekt anzeigen. Wichtig ist dabei, dass Sie für das Feld korrigiert als Funktion Mittelwert auswählen und nach dem Feld Frage gruppieren. Eine Frage wurde nämlich nur dann beantwortet, wenn jede mögliche Antwort richtig angekreuzt oder nicht angekreuzt wurde. Das ist nur dann der Fall, wenn für alle Antwortmöglichkeiten das Feld korrekt den Wert True enthält. Der Mittelwert muss für richtig beantwortete Fragen also -1 betragen, für falsch beantwortete Fragen einen anderen Wert.

Die Ergebnisse darstellen

Ein Lerneffekt kann natürlich nur dann eintreten, wenn Sie dem Benutzer auch zeigen, was er falsch gemacht hat und was nicht. Am einfachsten ist das, wenn Sie dem Benutzer ermöglichen, die richtigen Antworten und seine eigenen zu betrachten. Dazu können Sie wieder ein Formular mit Unterformular verwenden (Bild 4). Als Hauptformular können Sie das Formular zur Anzeige des Tests frmTestanzeigen kopieren und wie folgt anpassen. Wichtig ist dabei, dass Sie vor allem den nicht notwendigen Quellcode löschen. Das Klassenmodul des Formulars darf ausschließlich den Code in Listing 1 enthalten. Er sorgt dafür, dass der Benutzer die Testfragen durchblättern kann.

Bild 4: Aufbau des Formulars zur Anzeige der Testergebnisse.
Bild 4: Aufbau des Formulars zur Anzeige der Testergebnisse.

Private Sub bttWeiter_Click()
On Error GoTo Err_bttWeiter_Click
'Nächste Frage anzeigen
DoCmd.GoToRecord , , acNext
Exit_bttWeiter_Click:
Exit Sub
Err_bttWeiter_Click:
DoCmd.GoToRecord , , acFirst
Resume Exit_bttWeiter_Click
End Sub