4.4k Aufrufe
Gefragt in Datenbanken von Mitglied (335 Punkte)
Ein gesundes neues Jahr an die Support Gemeinde :)

Offensichtlich habe ich über Weihnachten alles vergessen, was ich über Access wusste.

Ich möchte in einer Abfrage ein berechnetes Feld einfügen, jedoch habe ich das Problem, dass nicht in allen Feldern, mit denen gerechnet wird auch ein Wert steht, also Leer ist.

Dementsprechend wird auch nichts für den Datensatz berechnet.

Hat hier vielleicht einer eine Lösung, dass trotzdem gerechnet wird?

Gruß

Peter

12 Antworten

0 Punkte
Beantwortet von marie Experte (2k Punkte)
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
0 Punkte
Beantwortet von Mitglied (335 Punkte)
Hallo an alle,

@Marie, danke für Deine Lösung. Sie hat prima funktioniert.

@Lorf, Deine Lösung habe ich adaptiert und entspricht ungefähr Helmuts Lösung.

Fazit: Mehrere Wege führen zum Ziel :).

Bitte nicht wegen so einer Kleinigkeit streiten. Die Sache ist viel zu simpel, um sich daran hoch zu ziehen :).

Ich bin jedenfalls sehr dankbar für Euren guten Willen.

Einen schönen Tag noch.

Peter
...