Komplexere Abfrage mit Dialog und Result umsetzten?
Liebe Ninox Gemeinde!
Ich hätte 3 zu prüfende Sachverhalte in einem Formular (z.B. Ja/Nein Felder) -> mySACHVERHALT
Möchte eine Bedienschaltfläche so einrichten, dass sie alle Sachverhalte abfragt und gegebenenfalls dialoge ausgibt mit den Möglichkeiten WEITER und ZURÜCK.
Wenn nun mySACHVERHALT 1 true ist, soll Ninox mySACHVERHALT2 prüfen ohne einen Dialog auszugeben, wenn true dann mySACHVERHALT3.
Falls mySACHVERHALT(1,2,3) false ist, soll sich ein DIALOG öffenen mit einer Auswahl von WEITER oder ZURÜCK...
wenn also mySACHVERHALT1 false ist und ich mit ZURÜCK antworte, soll Ninox die weiteren Sachverhalte NICHT prüfen und zurück ins Formular wechseln.
Wenn aber mySACHVERHALT1 true ist, dann soll Ninox mySACHVERHALT2 prüfen und bei false ebenfalls die Auswahl WEITER oder ZURÜCK abfragen. Das gleiche gilt dann für mySACHVERHALT3
Meine Schwierigkeit ist hier, dass ich mit den if und then immer sehr durcheinander komme und leider bei komplexeren Skripten sehr schnell nicht mehr durchblicke.
Wäre jemand so nett und würde mir bitte etwas helfen. Danke R
20 Antworten
-
etwa so:
---
function getS3(myS3 : number) do
if myS3 != 1 then
if dialog("Text", "Sachverhalt 3 ist negativ", ["ZURÜCK", "WEITER"]) = "WEITER" then
alert("Prüfung Abgeschlossen!
Prüfergebnisse:
Sachverhalt 1 - " + if mySACHVERHALT1 then "Positiv" else "Negativ" end + "
Sachverhalt 2 - " + if mySACHVERHALT2 then "Positiv" else "Negativ" end + "
Sachverhalt 3 - " + if mySACHVERHALT3 then "Positiv" else "Negativ" end)
end
else
alert("Prüfung Abgeschlossen!
Prüfergebnisse:
Sachverhalt 1 - " + if mySACHVERHALT1 then "Positiv" else "Negativ" end + "
Sachverhalt 2 - " + if mySACHVERHALT2 then "Positiv" else "Negativ" end + "
Sachverhalt 3 - " + if mySACHVERHALT3 then "Positiv" else "Negativ" end)
end
end;
function getS2(myS2 : number) do
if myS2 != 1 then
if dialog("Prüfung Sachverhalt 2", "Sachverhalt 2 ist negativ", ["ZURÜCK", "WEITER"]) = "WEITER" then
getS3(number(mySACHVERHALT3))
end
else
getS3(number(mySACHVERHALT3))
end
end;
function getS1(myS3 : number) do
if myS3 != 1 then
if dialog("Prüfung Sachverhalt 1", "Sachverhalt 1 ist negativ", ["ZURÜCK", "WEITER"]) = "WEITER" then
getS2(number(mySACHVERHALT2))
end
else
getS2(number(mySACHVERHALT2))
end
end;
getS1(number(mySACHVERHALT1))
---
Leo
-
Leo! Whow. Wiedermal perfekte Formel. Sie funktioniert genau so wie ich es brauche!!! DDDAAANNNKKKEEE!!!! Kannst du so lieb sein und diese Formel vielleicht in 2 Sätzen erörtern, damit ich nachvollziehen kann, was da genau passiert? DANKE
-
Ok ich versuch's...
da die Prüfungen sich mehrmals wiederholen müssen, ist es sinnvoll, einzelne Prüfungen in funktionen aufzuteilen.
1. die erste Funktion getS3 prüft den letzten Sachverhalt. Wenn Sachverhalt 3 false ist, dann ersheint der Dialog und wenn auf WEITER geklick wird, erscheint eine Meldung mit Prüfergebnissen. Wenn Sachverhalt true ist, erscheint diese Meldung direkt ohe dialog. In der Funktion habe ich Parameter myS3 als nummer angegeben. Eigentlich kann man direkt boolean statt number angeben, dann braucht man die Werte nicht mit number(Sachverhalt) umzuwandeln.
2. Die zwete Funktion getS2 prüft den zweiten Sachverhalt und übergibt die Ergebnisse an Funktion getS3.
3. Und die dritte Funktion getS1 prüft den ersten Sachverhalt und übergibt die Ergebnisse an Funktion getS2.
Jetzt starte ich die erste Funktion getS1(number(mySACHVERHALT1)) und die Prüfung beginnt....3.2.1.
Leo
-
Aha. Sehr interessant. Danke! Kannst du bitte noch einen Step zurück gehen und mit nur die Funktion "function" und "getSx" erklären mit den parametern. ich finde dazu im Ninox Manual leider unzureichende Infos. Wie würde das mit BOOLEAN ausschaun? DANKE LEO!
-
Ich habe mir deine Formel nochmal angesehen... es steht dort "function getS1(myS3 : number ) do....müsste bei deiner Formel (die funktioniert.. ) nicht bei function getS1 stehen
function getS1(myS1 : number) do
if myS1 != 1 then
if dialog("Prüfung Sachverhalt 1", "Sachverhalt 1 ist negativ", ["ZURÜCK", "WEITER"]) = "WEITER" then
getS2(number(mySACHVERHALT2))
end
else
getS2(number(mySACHVERHALT2))
end
end;
-
Mit boolean wird sich der Code nicht viel ändern:
---
function getS3(myS3 : boolean) do
if not myS3 then
if dialog("Text", "Sachverhalt 3 ist negativ", ["ZURÜCK", "WEITER"]) = "WEITER" then
alert("Prüfung Abgeschlossen!
Prüfergebnisse:
Sachverhalt 1 - " + if mySACHVERHALT1 then "Positiv" else "Negativ" end + "
Sachverhalt 2 - " + if mySACHVERHALT2 then "Positiv" else "Negativ" end + "
Sachverhalt 3 - " + if mySACHVERHALT3 then "Positiv" else "Negativ" end)
end
else
alert("Prüfung Abgeschlossen!
Prüfergebnisse:
Sachverhalt 1 - " + if mySACHVERHALT1 then "Positiv" else "Negativ" end + "
Sachverhalt 2 - " + if mySACHVERHALT2 then "Positiv" else "Negativ" end + "
Sachverhalt 3 - " + if mySACHVERHALT3 then "Positiv" else "Negativ" end)
end
end;
function getS2(myS2 : boolean) do
if not myS2 then
if dialog("Prüfung Sachverhalt 2", "Sachverhalt 2 ist negativ", ["ZURÜCK", "WEITER"]) = "WEITER" then
getS3(mySACHVERHALT3)
end
else
getS3(mySACHVERHALT3)
end
end;
function getS1(myS1 : boolean) do
if not myS1 then
if dialog("Prüfung Sachverhalt 1", "Sachverhalt 1 ist negativ", ["ZURÜCK", "WEITER"]) = "WEITER" then
getS2(mySACHVERHALT2)
end
else
getS2(mySACHVERHALT2)
end
end;
getS1(mySACHVERHALT1)
---
Die Funktionen sind Progammabschnitte, welche sich im Programmcode mehrmals wiederholen lassen.
Hier ist eine wunderschöne Beschreibung von Günther (ich hoffe, es ist ok, dass ich diese hier veröffentliche)
https://www.dropbox.com/s/63x15nfoux8i5ay/Funktionen%20in%20Rel.%202.5.pdf?dl=0
Leo
-
Ja stimmt, mit myS1 sieht es besser aus, wobei es hier keine Rolle spielt. Der Code wird nur innerhalb der Funktion geprüft.
Leo
-
Habe leider noch ein kleines Problem mit einem "Sachverhalt, der innerhalb von Sachverhalt 2 abgefragt wird, sozusagen Sachverhalt 2_1 und 2_2...
eine Verschachtelung sozusagen. wenn der Betrag erhalten wurde, soll er Sachverhalt 2_1 und 2_2 prüfen, wenn der Betrag noch nicht erhalten wurde, soll er diese Prüfungen auslassen, da es gar keinen Sinn ergibt, den Zustand der Bonnummer der Bezahlung zu prüfen, da der Betrag ja nicht als erhalten markiert wurde.
meine Formel schaut folgend aus, verschachtelt sich aber nicht so wie ich es brauche, sondern greift immer auch Sachverhalt 2_1 und 2_2 ab, auch wenn 2 false ist.
let myBON := 'Bon Nummer';
let myBONCHECK := cnt((select Dokumentation)['Bon Nummer' = myBON]);
let mySACHVERHALT1 := 'ins Protokoll übertragen?';
let mySACHVERHALT2 := if 'Betrag erhalten?' = 2 then false else true end;
let mySACHVERHALT2_BON_LEER := if myBON = null then false end;
let mySACHVERHALT2_BON_MULTI := if myBONCHECK > 1 and Datum = today() and myBON != null then false end;
let mySACHVERHALT3 := if 'nächster Termin ➟' = null then false else true end;function getS3(myS3 : number) do
if myS3 != 1 then
if dialog("FOLGETERMIN", "Es wurde noch kein Folgetermin mit dem Patienten vereinbart. Wollen sie trotzdem schließen?", ["UPS, VERGESSEN!", "OHNE FOLGETERMIN SCHLIEßEN!"]) = "OHNE FOLGETERMIN SCHLIEßEN!" then
closeAllRecords()
end
else
closeAllRecords()
end
end;function getS2(myS2 : number) do
if myS2 != 1 then
if dialog("ABRECHNUNG", "Die Behandlung wurde noch nicht bezahlt. Trotzdem schließen?", ["UPS, VERGESSEN!", "OK, TROTZDEM SCHLIEßEN!"]) = "OK, TROTZDEM SCHLIEßEN!" then
getS3(number(mySACHVERHALT3))
end
elsefunction getS2_LEER(myS2_2 : number) do
if myS2_2 != 1 then
if dialog("BON NUMMER", "Es wurde noch keine Bonnummer eingetragen. Wollen sie trotzdem schließen?", ["UPS, VERGESSEN!", "OHNE BONNUMMER SCHLIEßEN!"]) = "OHNE BONNUMMER SCHLIEßEN!" then
getS3(number(mySACHVERHALT3))
end
else
getS3(number(mySACHVERHALT3))
end
end;function getS2_BON(myS2_1 : number) do
if myS2_1 != 1 then
if dialog("BON NUMMER", "Anscheinend wurde eine Bonnummer doppelt vergeben?. Trotzdem schließen?", ["UPS, ZURÜCK!", "EGAL, TROTZDEM SCHLIEßEN!"]) = "EGAL, TROTZDEM SCHLIEßEN!" then
getS2_LEER(number(mySACHVERHALT2_BON_LEER))
end
else
getS2_LEER(number(mySACHVERHALT2_BON_LEER))
end
end;
getS2_BON(number(mySACHVERHALT2_BON_MULTI))
end
end;function getS1(myS1 : number) do
if myS1 != 1 then
if dialog("BEHANDLUNGSDOKUMENTATION", "Die Dokumentation wurde noch nicht in das Protokoll übertragen. Haben Sie diese Behandlung bereits fertig dokumentiert?", ["JA, DOKUMENTATION ERLEDIGT!", "ICH MACHE DAS SPÄTER!"]) = "JA, DOKUMENTATION ERLEDIGT!" then
let XXX := Dokumappe.Patient;
let NRR := raw(text('Therapie aktuell'));
let myNotes := XXX.raw(Protokoll);
let TTT := time(round(number(now()) / (60000 * 15)) * (60000 * 15));
let ZST := format(Termin, "ddd, DD. MMMM YYYY") + " - " + TTT;
let WWB := Dokumentation;
let OFF := 'Befund -> Wiederbefund';
let VVV := text('Veränderung');
let SSS := Dokumentation;
let VERB := if 'Veränderung' != null then
"<i><p><b>(Veränderung): " + text('Veränderung') + "</i></b></p>"
else
""
end;
let NPP := if 'neues Problem deponieren' != null then
"<i><p><b>(weiteres Patientenproblem): </i></b>" + 'neues Problem deponieren' + "</p>"
else
""
end;
let MII := if 'Mechanism of Injury (MI)' != null then
if 'Mechanism of Injury (MI)' != Dokumappe.'Mechanism of Injury (MI)' then
"<i><p><b>(Mechanism of Injury (MI)): </i></b>" + 'Mechanism of Injury (MI)' + "</p>"
else
""
end
else
""
end;
let ANN := if Krankengeschichte = null then
""
else
if Krankengeschichte != Dokumappe.Krankengeschichte then
"<i><p><b>(Anamnese): </i></b>" + Krankengeschichte + "</p>"
else
""
end
end;
let OFF := if 'Befund -> Wiederbefund' = null then
""
else
if 'Befund -> Wiederbefund' != Dokumappe.'Objective Findings (OF)' then
"<i><p><b>(Befund): </i></b>" + 'Befund -> Wiederbefund' + "</p>"
else
""
end
end;
let BEH := if Dokumentation != null then
"<i><b>(Dokumentation): </i>" + Dokumentation + "</b>"
else
""
end;
let PRO := if 'Procedere/Empfehlung' != null then
"<i><p><b>(Procedere/Empfehlung): </i></b>" + 'Procedere/Empfehlung' + "</p>"
else
""
end;
XXX.(Protokoll := raw(html("<H3><em>" + ZST + " (" + NRR + "):
" + "</H3></em>" + VERB + NPP + ANN + MII + OFF + BEH + PRO + "<br>")) + myNotes);
'ins Protokoll übertragen?' := true;
getS2(number(mySACHVERHALT2))
else
getS2(number(mySACHVERHALT2))
end
else
getS2(number(mySACHVERHALT2))
end
end;getS1(number(mySACHVERHALT1))
-
Das ist ohne Datenmodel echt viel. Als erste die Zeilen 5 und 6
let mySACHVERHALT2_BON_LEER := if myBON = null then false end;
let mySACHVERHALT2_BON_MULTI := if myBONCHECK > 1 and Datum = today() and myBON != null then false end;
---
Die Variablen können entweder false oder
leer (null) sein. Es fehlt hier else true:let mySACHVERHALT2_BON_LEER := if myBON = null then false else true end;
let mySACHVERHALT2_BON_MULTI := if myBONCHECK > 1 and Datum = today() and myBON != null then false else true end;Dann würde ich alle Funktionen am Anfang schreiben und nicht mitten in Code.
Leo
-
Die Variablen können entweder false oder leer (null) sein. Es fehlt hier else true
Ja das wars.. DANKE!
-
HIER DIE FERTIGE FORMEL.. FANKE
"-----------------------------------------------------------------------------------------------";
"--------------------------------HIER WERDEN DIE KONSTANTEN BEFÜLLT-----------------------------";
"-----------------------------------------------------------------------------------------------";
let myBEZ := 'Betrag erhalten?';
let myTERM := 'nächster Termin ➟';
let myBON := 'Bon Nummer';
let myBONCHECK := cnt((select Dokumentation)['Bon Nummer' = myBON and 'Bon Nummer' != null]);
let my1_PROTOKOLL := 'ins Protokoll übertragen?';
let my2_BEZAHLT := if myBEZ = 2 then false else true end;
let my2_1_BON_LEER := if myBON = null then false else true end;
let my2_2_BON_MULTI := if myBONCHECK > 1 then false else true end;
let my3_TERMIN := if myTERM = null then false else true end;
"-----------------------------------------------------------------------------------------------";
"--------------------------AB HIER WERDEN DIE EINZELNEN FUNKTIONEN DEFINIERT--------------------";
"-----------------------------------------------------------------------------------------------";
"-----------------------------------------------------------------------------------------------";
"----------------DIE FUNKTION GETS3 ÜBERPFÜFT OB EIN FOLGETERMIN EINGETRAGEN WURDE--------------";
"-----------------------------------------------------------------------------------------------";
function getS3(myS3 : number) do
if myS3 != 1 then
if dialog("FOLGETERMIN", "Es wurde noch kein FOLGETERMIN mit dem Patienten vereinbart. Wollen sie trotzdem schließen?", ["UPS, VERGESSEN!", "KEIN FOLGETERMIN!"]) = "KEIN FOLGETERMIN!" then
closeAllRecords()
end
else
closeAllRecords()
end
end;
"-----------------------------------------------------------------------------------------------";
"-------DIE FUNKTION GETS2_MULTI ÜBERPRÜFT OB DIE BONNUMMER DOPPELT VERGEBEN WURDE--------------";
"-----------------------------------------------------------------------------------------------";
function getS2_MULTI(myS2_2 : number) do
if myS2_2 != 1 then
if dialog("BONNUMMER", "Anscheinend wurde eine BONNUMMER doppelt vergeben?. Trotzdem schließen?", ["NOCHMALS EINTRAGEN!", "OK, TROTZDEM SCHLIEßEN!"]) = "OK, TROTZDEM SCHLIEßEN!" then
getS3(number(my3_TERMIN))
else
'Bon Nummer' := null
end
else
getS3(number(my3_TERMIN))
end
end;
"-----------------------------------------------------------------------------------------------";
"-----DIE FUNKTION GETS2_LEER ÜBERPRÜFT OB DIE EINTRAGUNG DER BONNUMMER VORGENOMMEN WURDE ------";
"-----------------------------------------------------------------------------------------------";
function getS2_LEER(myS2_1 : number) do
if myS2_1 != 1 then
if dialog("BONNUMMER", "Es wurde noch keine BONNUMMER eingetragen. Wollen sie trotzdem schließen?", ["EINTRAGEN!", "OK, TROTZDEM SCHLIEßEN!"]) = "OK, TROTZDEM SCHLIEßEN!" then
getS2_MULTI(number(my2_2_BON_MULTI))
end
else
getS2_MULTI(number(my2_2_BON_MULTI))
end
end;"-----------------------------------------------------------------------------------------------";
"-----DIE FUNKTION GETS2 ÜBERPRÜFT OB DIE BEHANDLUNG ALS BEZAHLT MARKIERT WURDE-----------------";
"-----------------------------------------------------------------------------------------------";function getS2(myS2 : number) do
if myS2 != 1 then
if dialog("ABRECHNUNG", "Die Behandlung wurde noch nicht bezahlt. Trotzdem schließen?", ["UPS, VERGESSEN!", "OK, TROTZDEM SCHLIEßEN!"]) = "OK, TROTZDEM SCHLIEßEN!" then
getS3(number(my3_TERMIN))
end
else
getS2_LEER(number(my2_1_BON_LEER))
end
end;
"-----------------------------------------------------------------------------------------------";
"----DIE FUNKTION GETS1 ÜBERPRÜFT OB DIE DOKUMENTATION IN DAS PROTOKOLL ÜBERTRAGEN WURDE--------";
"-----------------------------------------------------------------------------------------------";
function getS1(myS1 : number) do
if myS1 != 1 then
if dialog("BEHANDLUNGSDOKUMENTATION", "Die Dokumentation wurde noch nicht in das Protokoll übertragen. Haben Sie diese Behandlung bereits fertig dokumentiert?", ["JA, DOKUMENTATION ERLEDIGT!", "ICH MACHE DAS SPÄTER!"]) = "JA, DOKUMENTATION ERLEDIGT!" then
let XXX := Dokumappe.Patient;
let NRR := raw(text('Therapie aktuell'));
let myNotes := XXX.raw(Protokoll);
let TTT := time(round(number(now()) / (60000 * 15)) * (60000 * 15));
let ZST := format(Termin, "ddd, DD. MMMM YYYY") + " - " + TTT;
let WWB := Dokumentation;
let OFF := 'Befund -> Wiederbefund';
let VVV := text('Veränderung');
let SSS := Dokumentation;
let VERB := if 'Veränderung' != null then
"<i><p><b>(Veränderung): " + text('Veränderung') + "</i></b></p>"
else
""
end;
let NPP := if 'neues Problem deponieren' != null then
"<i><p><b>(weiteres Patientenproblem): </i></b>" + 'neues Problem deponieren' + "</p>"
else
""
end;
let MII := if 'Mechanism of Injury (MI)' != null then
if 'Mechanism of Injury (MI)' != Dokumappe.'Mechanism of Injury (MI)' then
"<i><p><b>(Mechanism of Injury (MI)): </i></b>" + 'Mechanism of Injury (MI)' + "</p>"
else
""
end
else
""
end;
let ANN := if Krankengeschichte = null then
""
else
if Krankengeschichte != Dokumappe.Krankengeschichte then
"<i><p><b>(Anamnese): </i></b>" + Krankengeschichte + "</p>"
else
""
end
end;
let OFF := if 'Befund -> Wiederbefund' = null then
""
else
if 'Befund -> Wiederbefund' != Dokumappe.'Objective Findings (OF)' then
"<i><p><b>(Befund): </i></b>" + 'Befund -> Wiederbefund' + "</p>"
else
""
end
end;
let BEH := if Dokumentation != null then
"<i><b>(Dokumentation): </i>" + Dokumentation + "</b>"
else
""
end;
let PRO := if 'Procedere/Empfehlung' != null then
"<i><p><b>(Procedere/Empfehlung): </i></b>" + 'Procedere/Empfehlung' + "</p>"
else
""
end;
XXX.(Protokoll := raw(html("<H3><em>" + ZST + " (" + NRR + "):
" + "</H3></em>" + VERB + NPP + ANN + MII + OFF + BEH + PRO + "<br>")) + myNotes);
'ins Protokoll übertragen?' := true;
getS2(number(my2_BEZAHLT))
else
getS2(number(my2_BEZAHLT))
end
else
getS2(number(my2_BEZAHLT))
end
end;
"-----------------------------------------------------------------------------------------------";
"-------HIER STARTET DIE FUNKTIONSKETTE MIT GETS1----------------";
"-----------------------------------------------------------------------------------------------";
getS1(number(my1_PROTOKOLL)) -
Ups sollte danke heißen, kann man hier keine Posts bearbeiten?
-
Jetzt hätte ich hier noch eine Frage: Wenn ich während die Sachverhaltsprüfung durchläuft z.B. den Sachverhalt 2 nach einer bestimmten Auswahl nochmals starten möchte.. ginge das?
Beispiel:
ich prüfe ob ein Feld leer ist, falls ja habe ich die Auswahl "FUNKTION DEAKTIVIEREN", "ABBRECHEN", "WEITER".
Wenn ich Abbrechen wähle, öffnet sich ein dialog "Sind sie sicher, dass sie diese Funktion deaktivieren wollen?", "JA", "NEIN"..
bei NEIN möchte ich gerne nochmals von der Stelle prüfen, wo das leere Feld überprüft wird..
Mir raucht das HIRN:. DANKE
-
Und was sollte passieren, wenn du "FUNKTION DEAKTIVIEREN" wählst ?
-
Hi Leo!
Ich deaktiviere in einer anderen Tabelle eine Funktion.. (Bonnummern automatisch überprüfen)
Wenn eine Bonnummer z.B. nicht eingetragen wurde, dann wird in der Abfrage voram überprüft, ob in meinem Profil (Dort sind alle Optionen definiert) diese Funktion aktiviert ist... Fall ja wird also der (z.B.) Sachverhalt 2 überprüft und als negativ ausgegeben. hier brauche ich 3 Möglichkeiten: "FUNKTION DEAKTIVIEREN", "ZURÜCK", "WEITER".
Falls "FUNKTION DEAKTIVIEREN" ausgewählt wird, käme die Abfrage "Sind sie sicher, dass sie diese Option deaktivieren wollen?" "JA", "NEIN". Falls Ja gewählt wird, wird in meinem Profil (in einer anderen Tabelle) diese Option auf "NEIN" gesetzt. Somit wird der Sachverhalt 2 in Zukunft nicht mehr geprüft. Außer man aktiviert diese Option wieder in dem Profil.
Falls ich mich bei der Abfrage "Sind sie Sicher" aber mit NEIN antworte, würde ich gerne den Sachverhalt 2 nochmals prüfen lassen (damit ich nochmals entscheiden kann...)
Danke
-
Hallo Rene,
um mehr als zwei zustände abzufragen würde ich switch() Funktion vorschlagen.
---
switch dialog("Bla","Bla Bla",["FUNKTION DEAKTIVIEREN", "ZURÜCK", "WEITER"] ) do
case "FUNKTION DEAKTIVIEREN":
tue das
case "ZURÜCK":
tue dies
case : "WEITER"
tue jenes
end
---
Um jetzt noch eine Unterabfrage unterzujubeln kann man eine while() Schleife einbauen.
let myD:="JA"
while myD ="JA" do
switch dialog("Bla","Bla Bla",["FUNKTION DEAKTIVIEREN", "ZURÜCK", "WEITER"] ) do
case "FUNKTION DEAKTIVIEREN":
myD:=dialog("Bla","Bla Bla",["JA", "NEIN"] ) ;
if myD="NEIN" then tue das end
case "ZURÜCK":
tue dies;
myD="NEIN"
case : "WEITER"
tue jenes;
myD="NEIN"
end
end
---
Leo
-
Lieber Leo! SWITCH ist super! Kannte ich noch gar nicht.. Es hat super geklappt. DANKE! Bei der Unterschleife steh ich allerdings an. Wäre es möglich mir mal eine kleine Beispiel Datenbank zu erstellen?
Danke!
-
So, hab noch herumprobiert.. schön langsam verstehe ich es.. habe nur ein kleines Problem mit dieser Formel:
let myD := "NO";
while myD = "NO" do
switch dialog("HAUPTFRAGE", "", ["DEAKTIVIEREN", "NEIN"]) do
case "DEAKTIVIEREN":
(
myD := dialog("UNTERFRAGE", "Sind Sie sicher?", ["YES", "NO"]);
if myD = "YES" then void end
)
case "NEIN":
myD = "YES"
end
endwenn ich auf NEIN klicke, dann komme ich nicht raus?? Alles andere scheint zu funktionieren..
LG Rene
-
Hallo Rene,
kleiner Tippfehler 3. Zeile von Unten (myD := "YES"). Und if myD = "YES" then void end brauchst du eigentlich nicht weil du myD shon im dialog deklarierst.
----
let myD := "NO";
while myD = "NO" do
switch dialog("HAUPTFRAGE", "", ["DEAKTIVIEREN", "NEIN"]) do
case "DEAKTIVIEREN":
(myD := dialog("UNTERFRAGE", "Sind Sie sicher?", ["YES", "NO"]))
case "NEIN":
(myD := "YES")
end
end----
Bin stolz auf dich.
Leo
-
Juhu. Habe jetzt dieses Konstrukt in meine Funktionen eingebettet und alles läuft wie am Schnürchen! DANKE!
Content aside
- vor 5 JahrenZuletzt aktiv
- 20Antworten
- 5238Ansichten