[Gelöst] - CheckBox ausgewählt ja/nein

21. April 2011 12:54

Hallo,

habe in NAV 2009 RTC eine Report-Funktion gebastelt, mit welcher ich die Stammdaten auf eine bestimmte länge setzten kann.

Jetzt habe ich folgendes Problem:
Ich kann auswählen, in welcher Tabelle die zB Kundennummern geändert werden sollen. Diese Auswähl geschieht mit CheckBoxen.
Jetzt will ich eine Error-Message bringen lassen, wenn keine Checkbox ausgewählt wurde. Jedoch wird mit folgendem Code immer die Error-Message angezeigt, auch wenn eines oder mehrere ausgewählt wurden. Aber wenn ich alle ausgewählt habe, kommt die Meldung nicht.

Code:
IF NOT (custMasterDatas AND vendMasterDatas AND ressMasterDatas AND itemMasterDatas AND accMasterDatas) THEN BEGIN
  ERROR(C_KVS001);
END;


Habe schon hier und bei mibuso gesucht, aber nichts in die Richtung gefunden.

Hoffe, ihr könnt mir hier ein wenig behilflich sein. Ich nehme an, habe irgend nen dämlichen Fehler gemacht xP

Ach ja, Code befindet sich beim Report in OnPreReport()
Zuletzt geändert von kyrios am 21. April 2011 13:46, insgesamt 1-mal geändert.

Re: CheckBox ausgewählt ja/nein

21. April 2011 12:56

Herzlich willkommen bei uns!

Ersetze alle ANDs durch OR.

Re: CheckBox ausgewählt ja/nein

21. April 2011 13:08

Danke!

ich will doch, dass die Fehlermeldung nur dann kommt, wenn keines der Checkboxen angeklickt wurde. Dazu muss ich doch alle miteinander überprüfen. Mit OR wird doch nur jede einzelne Checkbox überprüft, ob sie aktiviert ist. Dann würde ich doch bei jeder Checkbox die Meldung bekommen, oder?

ok, habs gerade getestet. Und es funktioniert?! Vielen Dank!!

Kannst dus mir vil. noch erklären? Wie oben beschrieben kapier ichs nicht ganz, wieso das mit OR funktioniert, aber mit AND nicht.

Re: CheckBox ausgewählt ja/nein

21. April 2011 13:26

Schau dir doch mal deine Werte in der Klammer an.

Du überprüfst ob wirklich alle Checkboxen ausgewählt wurden und das NOT erzeugt dann dazu das Gegenereignis, also alle anderen Fälle bei denen nicht wirklich alle Checkboxen ausgewählt wurden.

Deswegen kommt die Fehlermeldung auch in allen anderen Fällen. :wink:

Das Logische UND (AND) bedeutet in der Mengenlehre Schnittmenge, also du betrachtest den Fall dass hier alle Checkboxen den Wert TRUE haben.

Das logische ODER (OR) bedeutet hingegen in der Mengenlehre die Vereinigungsmenge, also die Menge von A und B.
Da unser Gehirn schnell zu überlisten ist denkt man hier schnell an ein UND (AND), was hier aber falsch wäre.

mfg,
winfy

Re: CheckBox ausgewählt ja/nein

21. April 2011 13:39

Vergleiche

Falsch AND Falsch = Falsch
Falsch AND Wahr = Falsch
Wahr AND Wahr = Wahr

Falsch OR Falsch = Falsch
Falsch OR Wahr = Wahr
Wahr OR Wahr = Wahr

OR ergibt immer dann "Wahr", wenn mindestens eine Bedingung erfüllt ist.
AND ergibt immer dann "Wahr", wenn alle Bedingungen erfüllt sind.

Re: CheckBox ausgewählt ja/nein

21. April 2011 13:43

ahh.. ok, das macht Sinn.

Vielen Dank!! Hab wohl falsch gedacht :mrgreen:

Danke nochmals euch beiden!!

mfg kyrios

Re: [Gelöst] - CheckBox ausgewählt ja/nein

21. April 2011 13:54

Der Gedanke mit der AND-Verknüpfung macht schon Sinn, wenn es (NOT A)AND(NOT B)AND ... (ohne das NOT vor der Klammer) hieße. Du willst ja prüfen, ob die Checkboxen NICHT geklickt sind.

Wenn man nun alle NOTs ausklammert, drehen sich die Operanden in der Klammer um, und man hat das, was Natalie geschrieben hat.