Hallo Lorf,
ich verstehe nicht warum Du so stinkig bist, es ist mir auch schon oft passiert, dass ich die Frage nicht richtig verstanden hatte und nu glaubte ich, dass es mal Dir passiert ist. Das ist doch nicht schlimm, aber er hatte doch das Gegenteil gefragt, da hilft ihm meiner Meinung nach Deine Lösung nicht. Er will doch, dass mit drei Zahlenwerten, egal welcher Null ist, ein Ergebnis ausgegeben wird. Er schrieb bereits vor Deiner Antwort:
.... will ich von den Listenpreisen Prozentsätze abziehen und Transportkosten hinzu addieren.
Außer den Listenpreisen können alle Werte auch Null sein, da ich nicht immer gleich Transportkosten und Rabattsätze parat habe.
Und in der Ausgangsfrage schrieb er, dass er gerne immer ein Ergebnis hätte, also hab ich es so verstanden, dass wenn das Feld Rabattsätze leer ist, dass er dann halt das Ergebnis Listenpreis + Transportkosten bekommt usw und nicht ein leeres Ergebnisfeld oder gar das Wort leer oder eine 0 im Ergebnisfeld.
Selbstverständlich kannst Du es ihm auch mit IIf(IsNull... erklären, wenn Du denn tatsächlich meinst, dass das einfacher ist, wenn von drei Feldern jedes leer sein kann. Wäre interessant, wenn Du das für das konkrete Beispiel mal hier drunterschreiben würdest, dann kann sich jeder künftige Leser selbst aussuchen, was er einfacher findet. Ich wollte Dir doch nur sagen, dass Dein Beispiel ihm nicht hilft, weil Du ihn falsch verstanden hattest.
Und eine if-Anweisung hatte ja Saarbauer ihm schon vorgeschlagen, diese Lösung hatte er doch schon, er suchte doch eine elegantere Lösung.
@Peter:
ja, wäre nett, wenn Du für spätere Leser schreiben würdest, ob
E: nz([LP]) - nz([p]) + nz([Z]) die von Dir gesuchte einfachere Lösung war.
Gruß Marie