Funktion Dialog mit popuprecord als Antwortaktion
Hallo zusammen,
ich hänge in folgendem Problem. Ich hab Schulungen mit Schulungsnummer und Teilnehmern.Dann erfass ich pro Teilnehmer, dass er dabei war in einer neuen Tabelle, sodass ich dort dann die Wirksamkeit beurteilen kann. für den Fall die Schulung war nicht wirsam, muss nachgeschult werden. dafür hab ich gedacht einen button zu verwenden, der den dialog öffnet "Nachschulung erzeugen?" => ja /nein
und wollte jetzt dialog als Formel verwenden
und falls ja, soll er mir die Schulungsnummer vom Teilnehmer vergleichen mit der Schulungsnummer aus den Schulungen, und wenn die identisch sind den Datensatz der Schulungen öffnen
wenn nicht, nur ein anderes Feld auf "ja" umstellen
Aber geht popuprecord als eine der beiden case dann überhaupt?
ich hab folgende nicht funktionierende Formel =>(evtl ist auch oben bei der definierung der Fehler... ich weiß es gerade nicht)
let myid := 'teilgenommene Schulung'.Schulungsnummer;
let myfact := (first(select Schulungen where Schulungsnummer = myid).number(Nr);
let titel := "Die getroffene Wirksamkeitsstufe macht eine Nachschulung des Mitarbeiters erforderlich";
let nachricht := "Nach Bestätigung mit OK öffnet sich das Fenster der ursprünglichen Schulung erneut. Tätigen Sie den Button 'Nachschulung erforderlich' und wählen Sie alle notwendigen Mitarbeiter aus.";
let antwortOption := ["OK", "Nein. Später"];
let Auswahl := dialog(titel, nachricht, antwortOption);
switch antwortOption do
case "OK":
popupRecord(myfact)
case "Nein. Später":
text('Nachschulungstermin noch offen') = "ja"
end
3 Antworten
-
Du fragst im Switch den Array "antwortOptionen" ab. Du musst aber "Auswahl" abfragen.
let myid := 'teilgenommene Schulung'.Schulungsnummer; let myfact := (first(select Schulungen where Schulungsnummer = myid).number(Nr); let titel := "Die getroffene Wirksamkeitsstufe macht eine Nachschulung des Mitarbeiters erforderlich"; let nachricht := "Nach Bestätigung mit OK öffnet sich das Fenster der ursprünglichen Schulung erneut. Tätigen Sie den Button 'Nachschulung erforderlich' und wählen Sie alle notwendigen Mitarbeiter aus."; let antwortOption := ["OK", "Nein. Später"]; let Auswahl := dialog(titel, nachricht, antwortOption); switch Auswahl do case "OK": popupRecord(myfact) case "Nein. Später": text('Nachschulungstermin noch offen') = "ja" end
-
Kleiner Tipp: Wenn man Optionen mit längeren/komplizierteren Zeichenfolgen hat, kann man den dialog()-Rückgabewert auch gleich auf ein oder zwei Zeichen beschränken. Damit lässt sich das Fehlerpotenzial durch (bspw. tippfehler-bedingte) Nicht-Übereinstimmung von Option und Abfragewert deutlich verringern:
let antwortOption := ["OK", "Nein. Später"]; let Auswahl := substr(dialog(titel, nachricht, antwortOption), 0, 1);
Beim ‚case‘ würde dann nur noch auf „O“ oder „N“ abgefragt.
Content aside
- Status Answered
- vor 11 MonatenZuletzt aktiv
- 3Antworten
- 86Ansichten
-
3
Folge bereits