Umfragen und Multiple-Choice-Tests - Teil 3

Benutzerantworten ermitteln

Im nächsten Schritt müssen Sie die gewählten Antworten des Benutzers in einer Form ermitteln, die Sie später auch im Formular darstellen können. Das Problem dabei ist, dass in den Antworten des Benutzers nur die Antwort gespeichert ist, die er aktiviert hat. Stehen für eine Frage also beispielsweise fünf Antworten zur Verfügung und hat der Benutzer davon die ersten beiden aktiviert, erscheinen auch nur diese in der Tabelle tabAntworten. Sie müssen nun ein berechnetes Feld hinzufügen, das für die Antworten des Benutzers in der Tabelle tabAntworten True zurückgibt und für die nicht darin enthaltenen Antworten False. Dazu erweitern Sie die Abfrage um folgende Felddefinition:

Benutzerantwort: Wenn([tabAntworten].[ID]=[tabErgebnisse].[Antwort];Wahr;Falsch)

Bild 2: Die Ergebnisse des Benutzers für die einzelnen Antwortmöglichkeiten.
Bild 2: Die Ergebnisse des Benutzers für die einzelnen Antwortmöglichkeiten.

Damit geben Sie True aus, wenn im Feld Antwort der Tabelle tabErgebnisse die ID der Antwort aus der Tabelle tabAntworten steht. Das Ergebnis ist dann ein berechnetes Feld, in dem die Antworten des Benutzers für jede Frage und jede mögliche Antwort als boolesche Werte stehen (Bild 2).

Vorsicht Falle!

Sollten Sie auf den Gedanken kommen, anstelle des Mittelwertes die Funktion Varianz zu verwenden, geht das daneben. Zwar ist der Gedanke richtig, dass bei richtig beantworteten Fragen jede Antwortmöglichkeit richtig sein muss und damit die Varianz 0 ergibt. Sie ergibt allerdings auch dann 0, wenn der Benutzer alle Antwortmöglichkeiten falsch beantwortet hat.