Domino 9 und frühere Versionen > ND6: Entwicklung

If-Abfrage funktioniert nicht

(1/2) > >>

Axel:
Hi,

im Moment zweifle ich an mir selbst. Ich habe Probleme mit einer IF-Abfrage im QuerySave-Event einer Maske.

Es soll geprüft werden, ob ein Feld ausgefüllt ist, außer wenn in einem anderen Feld einer von zwei bestimmten Begriffe steht. Eigentlich das Einfachste von der Welt, aber die IF-Abfrage tut's nicht. Die Prüfung erfolgt immer. Prüfe ich nur auf einen Begriff, dann gehts.


--- Code: ---...
If doc.Aktion(0) <> "Datensicherung erfolgreich" Or doc.Aktion(0) <> "Datensicherung fehlerhaft" Then
If doc.Taetigkeit(0) = ""  Then
Messagebox "Das Feld Kurzbeschreibung der Tätigkeit darf nicht leer sein.", 48, "Betriebsbuch - Warnung"
Continue = False
Call Source.GotoField("Taetigkeit")
Exit Sub
End If  'If doc.Taetigkeit(0) = ""
End If   'If doc.Aktion(0) <> "Datensicherung erfolgreich"  Or doc.Aktion(0) <> "Datensicherung fehlerhaft" Then
...

--- Ende Code ---

Wo ist denn da der Fehler? Wer hilft mir das Brett vorm Kopf abzuschrauben?


Axel



klaussal:
Nimm "and" anstelle von "OR"...

Axel:
Das war, vielen Dank.

Aber eine Erklärung hätte ich ganz gerne schon dafür. Logisch ist das nicht.

Die Prüfung soll doch ausgeführt werden wenn die eine Bedingung oder die andere Bedingung erfüllt ist und nicht beide. Eigentlich müssen bei AND doch beide Bedingungen erfüllt sein.


Axel

klaussal:
Bei ODER müsste dann aber = anstelle von <> stehen.

koehlerbv:
Doch, das ist schon logisch, Axel. OR wäre richtig, wenn Du auf "gleich" prüfst für beide Schlüsselworte (und eines von beiden soll wahr sein) oder wenn Du den Term klammerst und ein NOT davorsetzt. Hier sollen aber BEIDE NICHT enthalten sein - daher AND.

Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln