Export eines Access Quiz ◦ ?

### Implementationsvarianten

Access Quizzes mit Selbst- und Fremdkorrektur und Web Quizzes mit Selbstkorrektur greifen auf eine lokale Aufgabenbank QUIZ_BACKEND zu. Alternativ könnte ein Quiz direkt auf die umfassende Aufgabenbank TESTVERWALTUNG_BACKEND der Autorenkomponente zugreifen. Beides hat Vor- und Nachteile. Die folgende Tabelle bewertet die implementierte Alternative:

Eine lokale Aufgabenbank ... | Begründung
ist effizienter | weil die Kommunikation zwischen Client und Server minimal ist
ist sicherer | weil Quizzes mit und ohne Selbstkorrektur auch lokal durchführbar sind
muss dafür Redundanz verwalten | weil die Daten in QUIZ_BACKEND und TESTVERWALTUNG_BACKEND sind

### Erzeugte Tabellen

Anders als schriftliche Tests enthalten Quizzes nur Mehrfachwahl- und Zuordnungsaufgaben. Die Schaltflächen »Access Quiz mit Fremdkorrektur und »Access Quiz mit Selbstkorrektur des Formulars 2 Test ausgeben generieren die folgenden Tabellen:

Tabelle von QUIZ_BACKEND | Zweck
QuizFRAGEN | Fragentexte der Mehrfachwahl- und Zuordnungsaufgaben
QuizMEHRFACHWAHL | Alternativen und Lösungen der Mehrfachwahlaufgaben
QuizBUCHSTABEN_ALTERNATIVEN | Buchstabenpräfixe und -alternativen der Zuordnungsaufgaben
QuizZAHLEN_ALTERNATIVEN | Zahlenpräfixe und -alternativen der Zuordnungsaufgaben
QuizZUORDNUNGS_LÖSUNGEN | Korrekte Präfixpaare der Zuordnungslösungen
QuizTEST | Identifikation des laufenden Tests
SCORESMC | Teilnehmerantworten auf Mehrfachwahlfragen
SCORESZO | Teilnehmerantworten auf Zuordnungsfragen

QuizTEST besteht aus einem einzigen Satz, dessen erstes Feld den exportierten Quiz mit einer eindeutigen Nummer identifiziert. Die übrigen Felder nennen andere Eigenschaft des exportierten Tests, insbesondere die getestete Veranstaltung, das Semester, das Jahr und einen allfälligen Antwortenpfad. Die Zeilen der gelb markierten Tabellen enthalten Satzskelette, die erst nach der Beantwortung vervollständigt werden:

> Falls der Teilnehmer den Quiz nicht selbst korrigieren darf, muss er zu Beginn des Tests sein Matrikelnummer eingeben. Jeder Satz von SCORESMC und SCORESZO enthält dann neben der Antwort, dem Fragenschlüssel und dem Testschlüssel auch die Matrikelnummer. So lässt sich jede Antwort einem Test und einem Teilnehmer zuordnen.

Wenn der Teilnehmer eines fremdkorrigierten Access Quiz verlässt, fügt die Ereignisprozedur BtnTestAbgeben_Click() die Tabellen SCORESMC und SCORESZO den gleichnamigen Aggregationstabellen von TESTVERWALTUNG_BACKEND an.

### Codierung

Die Codierung der Reaktion auf die Schaltflächen »Access Quiz mit Fremdkorrektur und »Access Quiz mit Selbstkorrektur sind aufwändig. Wir analysieren Sie deshalb nur entwurfssprachlich. Der folgende Entwurfscode exportiert die Quizaufgabenbank QUIZ_BACKEND. Dazu kopiert er Auszüge von Testverwaltung_Backend.mdb und erstellt Tabellentemplates aus Feldbezeichnern und einem Primärschlüssel.

>     Exportiere die Datenbank QUIZ_BACKEND
>     (Attribute kursiv, Primärschlüssel unterstrichen)

>       Lösche die letzte Version von QUIZ_BACKEND
>       Erstelle eine neue leere Datenbank QUIZ_BACKEND

>       Erstelle die Tabelle QuizMEHRFACHWAHL
>         Definiere die folgende Tabellenstruktur
>           Fragenschlüssel
>           Alternativenschlüssel
>           Alternativentext
>           Lösung
>         Erstelle das Tabellenskelett
>           Kopiere satzweise die Ergebnistabelle einer SQL-Abfrage aus den ...
>             Mehrfachwahl-Aufgaben des gewählten Testtermins mit den Feldern ...
>               Fragenschlüssel
>               Alternativentext
>               Lösung
>           Füge satzweise einen Alternativenschlüssel an, der ...
>             die Alternativen jeder Aufgabe von 1 bis 4 nummeriert

>       Erstelle die Tabelle QuizBUCHSTABENPRÄFICES
>         Definiere die folgende Tabellenstruktur
>           Fragenschlüssel
>           Zahlenpräfix
>           TmpBuchstabenpräfixe
>         Erstelle das Tabellenskelett
>           Erstelle aus der normalisierten Tabelle ZUORDNUNGSLÖSUNGEN eine ...
>             Tabelle TmpBUCHSTABENPRÄFICES mit Wiederholungsgruppen
>             (Zwei Zeilen [A,1] und [A,2] werden z.B. zu einer einzigen Zeile [A,12])

>       Erstelle die einzeilige Tabelle QuizTEST
>         Definiere die folgende Tabellenstruktur
>           Testschlüssel
>           Veranstaltung
>           SemesterOderQuiz
>           Jahr
>         Erstelle die Tabelle mit den Werten des gewählten Tests
>           Falls Selbstkorrektur dann
>             erstelle den Satz mit einem Testschlüssel von -1
>           sonst
>             erstelle den Satz mit einem Testschlüssel von <laufender Testschlüssel>

>       Erstelle die leere Tabelle SCORESMC:
>         Fragenschlüssel
>         Alternativenschlüssel
>         Matrikelnummer
>         Testschlüssel
>         Benutzerlösung

>       Erstelle die leere Tabelle SCORESZO:
>         Fragenschlüssel
>         Matrikelnummer
>         Testschlüssel
>         Zahlenpräfix
>         Buchstabenpräfix

>       Erstelle aus den folgenden Abfragen die (rot markierten) Musterlösungstabellen
>         QUIZQryFragenMitText          -> QuizFRAGEN
>         QUIZQryBuchstabenalternativen -> QuizBUCHSTABEN_ALTERNATIVEN
>         QUIZQryZahlenalternativen     -> QuizZAHLEN_ALTERNATIVEN
>         QUIZQryZuordnungslösungen     -> QuizZUORDNUNGS_LÖSUNGEN

Den VBA-Code finden Sie, wenn Sie in der Entwurfsansicht von Testverwaltung auf die Schaltfläche »BtnAccessQuizMitSelbstkorrektur klicken, dann mit »Alt/Eingabetaste die Eigenschaftenliste anzeigen und schliesslich zur Ereignisprozedur BtnAccessQuizMitSelbstkorrektur_Click() verzweigen.

Wie exportiere ich einen clientzentrierten Web Quiz mit Selbstkorrektur?

Spezifikation serverzentrierter Web Quizzes mit Fremdkorrektur