====== goToQuestionnaire() ====== Durch Aufruf von ''goToQuestionnaire()'' wird der Teilnehmer direkt zu einem anderen Fragebogen im selben Befragungsprojekt umgeleitet. Dabei wird ein zusätzlicher Datensatz angelegt, der als Referenz (REF) die Nummer (CASE) des ursprünglichen Datensatzes trägt. ''void **goToQuestionnaire**(string //FragebogenKennung//, [string //TextKennung//], [string //Seite//])'' ''void **goToQuestionnaire**(string //FragebogenKennung//, [boolean //Neustart//], [string //Seite//])'' * //FragebogenKennung//\\ Die Kennung des Fragebogens, zu welchem der Teilnehmer springen soll * //TextKennung//\\ Kennung eines Textes, der angezeigt werden soll, wenn der Teilnehmer den Fragebogen bereits ausgefüllt hat * //Neustart//\\ Wenn der zweite Parameter den Wert ''true'' hat, so wird kein Text angezeigt, wenn der untergeordnete Fragebogen bereits ausgefüllt wurde, sondern der Fragebogen springt zu der im dritten Parameter angegeben Seite und kann ab dort erneut ausgefüllt/geändert werden. * //Seite//\\ Wenn dieser Parameter gesetzt ist und eine gültige [[:de:glossary#seitenkennung|Seitenkennung]] enthält, beginnt der untergeordnete Fragebogen nicht auf der ersten Seite bzw. setzt ein eventuell schon angefangenes Interview nicht auf der zuletzt aktiven Seite fort, sondern springt direkt zur angegebenen Seite. **Wichtig:** Anders als ''[[:de:create:functions:multileveldown]]'' wird der Teilnehmer nach Abschluss des Fragebogens (Erreichen der letzten Seite) nicht zum ursprünglichen Fragebogen zurückgeleitet. Falls dies gewünscht ist, muss im Fragebogen (z.B. auf der vorletzten Seite) der Befehl ''[[:de:create:functions:gotoparent]]'' verwendet werden. Die Funktion ''goToQuestionnaire()'' erlaubt es einem Teilnehmer, einen ansonsten gesperrten Fragebogen ([[:de:create:access|Zugriffsmodus]] "intern/gesperrt") auszufüllen. Dies ist insbesondere dann nützlich, wenn sich der Teilnehmer vorab mittels Serienmail, Teilnahmecode oder Login authentifiziert hat. * Falls dem Teilnehmer eine Personenkennung (SERIAL) zugewiesen wurde, wird diese auch in dem Fragebogen vermerkt, auf welchen ''goToQuestionnaire()'' verweist. * Falls im laufenden Interview keine Personenkennung bekannt ist, wird eine neue Zeichenfolge (z.B. ''CASE000123'') erzeugt. Die Fall-Nummer (CASE) des ursprünglichen Datensatzes wird in beiden Fällen als Referenz (REF) im neuen Datensatz vermerkt. Ein erneuter Aufruf des Fragebogens durch denselben Teilnehmer wird so behandelt, als wenn ein per Serienmail oder Teilnahmecode personalisierter Link erneut aufgerufen wurde. Das heißt: Wenn in den Fragebogen-Einstellungen des Fragebogens (**Fragebogen zusammenstellen** -> Karteireiter //Einstellungen//) nichts Gegenteiliges eingestellt wurde, dann wird ein eventuell schon vorhandener Datensatz des Teilnehmers fortgeführt. Falls das Interview bereits abgeschlossen wurde, wird der mit //TextKennung// spezifizierte Text angezeigt. Falls keine Kennung angegeben wurde, wird kein Inhalt gezeigt -- in der Standardeinstellung springt SoSci Survey dann weiter zur nächsten Seite. ==== Zielgruppe auswählen ==== Mitunter sollen unterschiedliche Zielgruppen unterschiedliche Fragebögen ausfüllen -- und nicht immer können die Personen der Zielgruppen getrennt angesprochen werden ([[:de:survey:url]]). In diesem Fall kann man die Zielgruppe auf einer der ersten Fragebogenseiten in einer Auswahlfrage abfragen. * Anschließend kann man einzelne Fragen ein- oder auszublenden ([[:de:create:filters]]) und/oder * man kann einzelne Begriffe im weiteren Fragebogen anpassen/ersetzen ([[:de:create:placeholders]]). * Oder man kann die Personen in Abhängigkeit der Antwort unterschiedliche Fragebögen vorlegen. Bei dieser Lösung erhält man pro Teilnehmer:in allerdings zwei Fälle im Datensatz. Einen Fall für den Eingangsfragebogen mit Auswahl und einen zweiten Fall für den untergeordneten Fragebogen. Diese Fälle muss man in der Datenanalyse eventuell wieder verknüpfen. **Hinweis:** In vielen Anwendungsfällen ist die Arbeit mit Filtern und Platzhaltern effizienter. Für den Sprung zum untergeordneten Fragebogen kann man ''goToQuestionnaire()'' oder ''[[:de:create:functions:multileveldown]]'' verwenden. Der zweite Befehl ist vor allem dann sinnvoll, wenn (a) die Befragten nach dem untergeordneten Fragebogen wieder mit dem Hauptfragebogen fortfahren sollen oder (b) wenn Daten an den untergeordneten Fragebogen übergeben werden sollen. Die unterschiedlichen Fragebögen können Sie unter **Fragebogen zusammenstellen** → **Fragebögen verwalten** erstellen. Wenn die Zielgruppe auf der zweiten Seite des Fragebogens mit der Auswahlfrage ''AF01'' abgefragt wurde, würde folgender PHP-Code auf Seite 3 ([[:de:create:php-filters|PHP-Filter]]) die Befragten zu einem der drei Fragebögen "group1", "group2" oder "group3" weiterleiten. if (value('AF01') == 1) { goToQuestionnaire('group1'); } elseif (value('AF01') == 2) { goToQuestionnaire('group2'); } elseif (value('AF01') == 3) { goToQuestionnaire('group3'); } else { // Für den Fall, dass keine der drei Optionen gewählt wurde repeatPage(); }