switch-case hilfe
if dialog("Eingabe überprüfen", html(Dialog2), ["Auftrag erstellen", "ABBRECHEN"]) = "Auftrag erstellen" then
let KvNrEintrag := 'KV-Nr_von_Dialog_(Text)';
let NummerRecord := 'Record-Nr_Dialog_Aufträge_(Zahl)';
switch true do
case NummerRecord = 0 and KvNrEintrag = "yes":
(
let nummerVertragspartner := number('Record-Nr_Dialog_Vertragspartner_(Zahl)');
let NameKunde := 'Name_von_Dialog_(Text)';
let KvNummerNeu := 'KV-Nr_von_Dialog_(Text)';
if cnt((select 'Aufträge')['KV-Nr.' = KvNummerNeu and Vertragspartner.number(Nr) = nummerVertragspartner]) > 1 then
alert("nicht möglich, Auftrag schon vorhanden")
else
let myR := (create 'Aufträge');
myR.(
Vertragspartner := nummerVertragspartner;
'KV-Nr.' := KvNummerNeu;
Name := NameKunde
);
popupRecord(myR)
end
)
case NummerRecord = 0 and KvNrEintrag = "no":
(
let nummerVertragspartner := number('Record-Nr_Dialog_Vertragspartner_(Zahl)');
let NameKunde := 'Name_von_Dialog_(Text)';
let KvNummerNeu := 'KV-Nr_von_Dialog_(Text)';
let myR := (create 'Aufträge');
myR.(
Vertragspartner := nummerVertragspartner;
'KV-Nr.' := KvNummerNeu;
Name := NameKunde
);
popupRecord(myR)
)
case NummerRecord > 0:
(
let nummerAuftraege := 'Record-Nr_Dialog_Aufträge_(Zahl)';
let nidOeffnen := first(select 'Aufträge' where number(Nr) = nummerAuftraege);
popupRecord(nidOeffnen)
)
case NummerRecord = null:
alert("eingaben unvollständig, bitte wiederholen")
default:
alert("fehler im script")
end
end
end
Ich bekomme es einfach nicht zum Laufen. Der case 1 mit if else will immer nicht.
Der 1. case will einfach nicht.
- case 1 : ist nummerRecord = 0 and KvNrEintrag="true"
Dann soll geprüft werden ob eine KV-Nr schon besteht, wenn ja: der alert, wenn nein: neun record anlegen
- case 2: ist nummerRecord = 0 and KvNrEintrag="false"
Dann soll eine neuer record angelegt werden
- case 3: ist nummerRecord > 0
vorhandenen record öffnen
- case 4: ist nummerRecord = null
alert
6 Antworten
-
könnt verrückt werden... nichts will den ersten zweig machen
if 'Record-Nr_Dialog_Aufträge_(Zahl)' = 0 and 'KV-Nr_von_Dialog_(Text)' then let nummerVertragspartner := number('Record-Nr_Dialog_Vertragspartner_(Zahl)'); let NameKunde := 'Name_von_Dialog_(Text)'; let KvNummerNeu := 'KV-Nr_von_Dialog_(Text)'; if cnt((select 'Aufträge')['KV-Nr.' = KvNummerNeu and Vertragspartner.number(Nr) = nummerVertragspartner]) > 1 then alert("nicht möglich, Auftrag schon vorhanden") else let nummerVertragspartner := number('Record-Nr_Dialog_Vertragspartner_(Zahl)'); let NameKunde := 'Name_von_Dialog_(Text)'; let KvNummerNeu := 'KV-Nr_von_Dialog_(Text)'; let myR := (create 'Aufträge'); myR.( Vertragspartner := nummerVertragspartner; 'KV-Nr.' := KvNummerNeu; Name := NameKunde ); popupRecord(myR) end else if 'Record-Nr_Dialog_Aufträge_(Zahl)' = 0 and 'KV-Nr_von_Dialog_(Text)' = null then let nummerVertragspartner := number('Record-Nr_Dialog_Vertragspartner_(Zahl)'); let NameKunde := 'Name_von_Dialog_(Text)'; let KvNummerNeu := 'KV-Nr_von_Dialog_(Text)'; let myR := (create 'Aufträge'); myR.( Vertragspartner := nummerVertragspartner; 'KV-Nr.' := KvNummerNeu; Name := NameKunde ); popupRecord(myR) else if 'Record-Nr_Dialog_Aufträge_(Zahl)' > 0 and 'KV-Nr_von_Dialog_(Text)' then let nummerAuftraege := 'Record-Nr_Dialog_Aufträge_(Zahl)'; let nidOeffnen := first(select 'Aufträge' where number(Nr) = nummerAuftraege); popupRecord(nidOeffnen) else if 'Record-Nr_Dialog_Aufträge_(Zahl)' = null and 'KV-Nr_von_Dialog_(Text)' = null then alert("eingaben unvollständig, bitte wiederholen") end end end end
-
Es wird immer ein neuer erstellt selbst wenn die bedinungen für das alert erfüllt sind.
if 'Record-Nr_Dialog_Aufträge_(Zahl)' = 0 and 'KV-Nr_von_Dialog_(Text)' then let nummerVertragspartner := number('Record-Nr_Dialog_Vertragspartner_(Zahl)'); let NameKunde := 'Name_von_Dialog_(Text)'; let KvNummerNeu := 'KV-Nr_von_Dialog_(Text)'; if cnt((select 'Aufträge')['KV-Nr.' = KvNummerNeu and Vertragspartner.number(Nr) = nummerVertragspartner]) > 1 then alert("nicht möglich, Auftrag schon vorhanden") else let nummerVertragspartner := number('Record-Nr_Dialog_Vertragspartner_(Zahl)'); let NameKunde := 'Name_von_Dialog_(Text)'; let KvNummerNeu := 'KV-Nr_von_Dialog_(Text)'; let myR := (create 'Aufträge'); myR.( Vertragspartner := nummerVertragspartner; 'KV-Nr.' := KvNummerNeu; Name := NameKunde ); popupRecord(myR) end
Ich verstehe nicht warum? Kv-Nr für den Vertragspartner ist vorhanden also größer 1 als Ergebniss. Dennoch wird nicht der alert ausgelöst, sondern der Datensatz angelegt.
-
Beim Schreiben den Fehler bemerkt >= .... der Fehler sitzt immer vor dem Bildschirm
-
...manchmal hilft es, einfach mal drüber zu reden :))
Schön, dass es dann doch noch läuft. Immer ein gutes Gefühl bei Ninox-Projekten. -
Könnte man schon kotzen, wenn die erste Variante die richtige war, man den Fehler nicht bemerkt und am Ende viel Zeit damit verbracht hat.
Content aside
- Status Answered
- vor 9 MonatenZuletzt aktiv
- 6Antworten
- 88Ansichten
-
3
Folge bereits