Umfragen und Multiple-Choice-Tests - Teil 2

Unterformular und Hilfsfunktionen erstellen

Als Unterformular erstellen Sie einfach ein ungebundenes Formular, das jedoch einen Kopfbereich haben muss. Um diesen zu erzeugen, blenden Sie ihn in der Entwurfsansicht des Formulars über Ansicht/Formularkopf/-fuß ein. Innerhalb des Formulars sollte sich kein Steuerelement befinden.

Außerdem benötigen Sie noch eine Funktion, die ermittelt, wie hoch die maximale Zahl von Antworten für die Fragen des Tests ist. Die Funktion verwendet dazu die Domänen-Aggregatfunktion dMax, die Sie auf eine Abfrage oder Tabelle anwenden können. Sie benötigen dazu eine Tabelle oder Abfrage, die die Anzahl von Antworten für die einzelnen Fragen zurückgibt. Da Sie diese Abfrage später noch mehrmals benötigen, lohnt es sich, sie als Abfrage in der Datenbank zu speichern (Bild 3). Sie können für die Abfrage den folgenden SQL-Code verwenden und auf Basis dieses Codes eine Abfrage abfMaxAntwortenerstellen:

Bild 3: Aufbau der Abfrage abfMaxAntworten.
Bild 3: Aufbau der Abfrage abfMaxAntworten.

SELECT Frage, Count(ID) AS Anzahl
FROM tabAntworten
GROUP BY Frage;

Nun benötigen Sie nur noch eine Funktion, die die Domänenaggregatfunktion aufruft und die maximale Anzahl Antworten zurückgibt (Listing 1).

Function getMaxAnzahl()
getMaxAnzahl = DMax("Anzahl", "abfMaxAntworten")
End Function