2.5k Aufrufe
Gefragt in Datenbanken von
Hallo auch,

Problem:
Habe die Felder "PreisA", "Leistungspreis", "PreisB" und ein Ergebnisfeld "Endpreis"
Den "Leistungspreis" errechne ich eigentlich mit der Formel

=([PreisA]-[PreisB]) im Formulartextfeld.

Das stimmt aber nur dann, wenn in "PreisB" nicht 0 steht. Den "Leistungspreis" gibt’s aber nur wenn "PreisB" größer als 0 ist ansonsten soll in das Ergebnisfeld "Endpreis" der Betrag aus "PreisA" ohne Abzug eingetragen werden und der erscheint bei obiger Formel als Leistungspreis.
Das geht natürlich gar nicht.
Also: Wenn "PreisB" = 0, dann in "Endpreis" einfügen "PreisA" sonst "PreisA" - "PreisB"
Wer hilft mir auf die access-Syntaxsprünge?

Vielen Dank

Lothar

5 Antworten

0 Punkte
Beantwortet von kjg17 Profi (34.4k Punkte)
Hallo Lothar,

irgendwie stehe ich da jetzt auf dem Schlauch.

Wenn PreisB = 0 ist, dann ist doch PreisA - PreisB logischerweise = PreisA.

Gruß
Kalle
0 Punkte
Beantwortet von
Hallo Kalle,
Erst mal danke das du dir Zeit für mein Problem nimmst.
Natürlich hast du damit recht ;-)

Wenn PreisB = 0 ist, dann ist doch PreisA - PreisB logischerweise = PreisA.


Das Ergebnis ist dann nur im falschen Feld. Im Feld "Endpreis" kann das so stehen, aber nicht im Feld "Leistungspreis".
Ich brauche einfach für den Leistungspreis eine andere Formel, da der Leistungspreis auch 0 sein kann nämlich dann, wenn PreisB 0 ist.
(zur Erklärung: PreisB ist ein Prämienpreis für Umsätze. der wird manuell nach Umsatz eingetragen und der sich daraus ergebende "Leistungspreis" ist ein Abzug vom eigentlichen Artikelpreis sodaß der Ma dann einen Endpreis hat der Artikelpreis minus Leistungspreis ist.)
Gibt es aber keinen Leistungspreis, weil der entsprechende Mindestumsatz nicht erreicht wurde, muß im Feld "Leistungspreis" auch 0,00 € stehen.
Ich hoffe, jetzt ist der Sachverhalt verständlicher. Vielleicht brauch ich auch noch ein Zusätzliches Feld?

Danke für weitere Hilfe

Lothar
0 Punkte
Beantwortet von
Hallo @all zur Info:

Ich machs jetzt über Excel (das Feld "Leistungspreis") mit einer WENN-Abfrage und trage das Ergebnis dann manuell in das Feld in access ein.
Sollte noch irgendwer eine Lösung direkt für access wissen:
teilt es mir bitte mit - der Umweg über Excel nervt nämlich.
Die Wenn-Formel in Excel ist jetzt so.

=WENN(E2=0;0;C2-E2)

E2 ist "PreisB", C2 ist "PreisA" und die Formel steht in D2 für "Leistungspreis" . Die erste Formel in access

=([PreisA]-[PreisB])

steht nun im Feld "Endpreis".
So hab ich nun immer die korrekten Ergebnisse - aber leider halt mit Umweg

Gruß Lothar
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Lothar,

In die Entwurfsansicht der Abfrage in Spalte "Leistungspreis" folgende Formel eingeben:

=Wenn([PreisB]>0;[PreisA]-[PreisB];0)


Wie die Formel einzufügen ist:

>Spalte Leistungspreis
>Zeile Feld
>rechte Maustaste
>Aufbauen
>Formel einfügen
>OK

Bei Fragen schreibe es.

schöne Grüße

Paul1
0 Punkte
Beantwortet von
@Paul1,

Danke dir für diesen Lösungsansatz.
Im Formular-Textfeld klappts jetzt genauso perfekt mit deiner Formel ;-)
Herzlichen Dank für die Mühe.

Gruß

Lothar
...