Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: NickNac am Dezember 24, 2016, 13:17:47

Titel: Formel zur Berechnung eins Wertes mit 3 Variablen Bedingungen
Beitrag von: NickNac am Dezember 24, 2016, 13:17:47
Hi an alle die Formeln mehr lieben als ich :D
Habe in einem Übersichtsformular zu Rechnungen, Kaufvertragswerten und Stornierungen eine Formel zu finden.
Die Daten die ich habe sind aus der Tabelle Kaufvertrag, der Kaufvertrag Wert, 2 Ja/Nein Felder über die gesagt wird, ob der Kaufvertrag storniert ist oder nicht, über das Zweite, ob die Stornierung mit Kosten verbunden ist oder nicht.
Im Formular wird dargestellt, wie die Summe aller Kaufverträge des Kunden ist (Filterung nach Kundennummer) Diese Summe berücksichtigt nur leider nicht die Werteänderung im Falle einer Stornierung. Die einzelnen "Wenns" würden theoretisch so aussehen.
=Wenn([Storno]=false & [Storno_berechnen]=False;[rgWert]) <-- soweit so gut.. ist das selbe wie [rgWert]
= Wenn([Storno]=true & [Storno_berechnen]=true;[Restwert] <-- hier (In Abfrage ermittelt) die Stornokosten = neuer "rgwert" 
= Wenn([Storno]=true & [Storno_berechnen]=false;[stornoOhne) <-- hier (In Abfrage ermittelt) der neue "rgwert" = 0 Da keine Berechnung der Stornierung erfolgt und somit Kaufvertragwert = 0

Die Formel soll in ein Endlosformular zum Entsprechenden Datensatz in ein Textfeld, welches dann in den Fußbereich als Summe aufsummiert wird. (Handelt sich um ein Ufo welches die Werte im Hafo weiter verwendet)

Wie krieg ich das jetzt in ein Feld mit dem Ergebnis wie ich es mir wünsche? Jemand eine Idee?

=wenn(und([Storno]=false & [Storno_berechnen]=False);[rgWert];0)
&wenn(und([Storno]=true & [Storno_berechnen]=true);[Restwert];0) &wenn(und([Storno]=true & [Storno_berechnen]=false);[StornoOhne];0)

Hab ich schon probiert, Gibt aber die Fehlermeldung, dass ich möglicherweise ein Komma eingegeben hab, vor dem kein Wert oder Bezeichner Steht. :(
Titel: Re: Formel zur Berechnung eins Wertes mit 3 Variablen Bedingungen
Beitrag von: MzKlMu am Dezember 24, 2016, 13:28:38
Hallo,
was ist Storno, ein Ja/Nein Feld ?

Wenn ja, sollte die Formel hier reichen.
=[rgWert] *(Storno+1)

Hintergrund Ja=-1 und Nein = 0

Wenn man zu -1 1 addiert wird 0 draus.
[rgWert] * (-1+1) =  [rgWert] * 0 = 0
Bei Nein (=0) sieht das so aus:
[rgWert] * (0+1) =  [rgWert] * 1 = [rgWert]

Ich würde das aber als berechnetes Feld in der Abfrage machen. Und dieses Feld im Bericht verwenden und summieren.
Titel: Re: Formel zur Berechnung eins Wertes mit 3 Variablen Bedingungen
Beitrag von: Lachtaube am Dezember 24, 2016, 13:32:41
Wenn man solche Verrenkungen machen muss, sollte das Datenmodell dringend auf den Prüfstand.Wenn(Nicht [Storno] Und Nicht [Storno_berechnen]; [rgWert];
     Wenn([Storno] Und [Storno_berechnen]; [Restwert];
          Wenn([Storno] Und Nicht [Storno_berechnen]; [StornoOhne]; 0)))
Titel: Re: Formel zur Berechnung eins Wertes mit 3 Variablen Bedingungen
Beitrag von: NickNac am Dezember 24, 2016, 14:40:20
Danke MzKlMu, hatte nicht bedacht, dass ja/nein in ner Anfrage ja Zahlen sind..
Danke auch Dir Lachtaube, habe Deine Version übernommen, klappt wunderbar!

uns ja.. hätt ich jemals den Umgang mit Access, VBA oder Datenmodellentwicklung gelernt gehörte das dringend auf den Prüfstand! Da ich aber nichts von all dem gelernt hab und einfach so stück für Stück ein System bastel gibt es hier und da ein paar Verrenkungen.
Aber es funktioniert und tut was es soll. Jedenfalls die beiden Vorgänger, die ich seit mehreren Jahren produktiv einsetze :) Sitze grad an der dritten Version, da ich mittlerweile wieder mehr dazu gelernt hab und die Auftragserfassung von Papierhaft auf elektronisch umgestellt werden soll.
Titel: Re: Formel zur Berechnung eins Wertes mit 3 Variablen Bedingungen
Beitrag von: NickNac am Dezember 24, 2016, 15:09:47
Da freut man sich grad, dass die Formel funktioniert, dann sieht man dass die Summe im Formularfuß nicht mehr funktioniert :(
Kriege da nur noch #Fehler angezeigt. Die Formel habe ich in ein Textfeld eingebaut und wollte dies nun aufsummieren.. (=Summe([Feldname]))
Versuch ich das in der Abfrage als berechnetes Feld mit einzubauen beschwert er sich, dass ich die KV Nummer mit einbeziehen müsste..
Idee ?
Titel: Re: Formel zur Berechnung eins Wertes mit 3 Variablen Bedingungen
Beitrag von: MzKlMu am Dezember 24, 2016, 15:26:57
Hallo,
in der Summenformel musst du die Ausgangsformel exakt wiederholen (ohne das Gleichheitszeichen).
Titel: Re: Formel zur Berechnung eins Wertes mit 3 Variablen Bedingungen
Beitrag von: NickNac am Dezember 24, 2016, 15:33:39
Habe die Formel drin..
Wenn(Nicht [Storno] Und Nicht [Storno_berechnen]; [rgWert];
     Wenn([Storno] Und [Storno_berechnen]; [Restwert];
          Wenn([Storno] Und Nicht [Storno_berechnen]; [StornoOhne]; 0)))
Die Summe der Werte ergibt Fehler, eine andere Spalte (ohne Fomel) ergibt auch Fehler.. Hier ist nur die reine Zahl aus der Tabelle zu addieren.
Titel: Re: Formel zur Berechnung eins Wertes mit 3 Variablen Bedingungen
Beitrag von: MzKlMu am Dezember 24, 2016, 15:41:12
Hallo,
und wo ist jetzt die Summe geblieben ?
=Summe(Wenn(Nicht [Storno] Und Nicht [Storno_berechnen]; [rgWert];
     Wenn([Storno] Und [Storno_berechnen]; [Restwert];
          Wenn([Storno] Und Nicht [Storno_berechnen]; [StornoOhne]; 0))))

Titel: Re: Formel zur Berechnung eins Wertes mit 3 Variablen Bedingungen
Beitrag von: NickNac am Dezember 24, 2016, 15:46:28
Warum er mirt zu der normalen Summe auch den Fehler ausgibt weiss ich leider nicht. evtl weil mit anderen Werten aus der Tabelle gerechnet wird und so nullwerte vorhanden sind, aufgrund derer die Summe da nicht geht.. probier es gleich mal mit nem NZ Zusatz.
Die Formel (mit = und Summe) funktioniert nicht.. #Fehler
Titel: Re: Formel zur Berechnung eins Wertes mit 3 Variablen Bedingungen
Beitrag von: NickNac am Dezember 26, 2016, 02:15:01
Zitat von: NickNac am Dezember 24, 2016, 15:46:28
Warum er mir zu der normalen Summe auch den Fehler ausgibt weiss ich leider nicht. evtl weil mit anderen Werten aus der Tabelle gerechnet wird und so nullwerte vorhanden sind, aufgrund derer die Summe da nicht geht.. probier es gleich mal mit nem NZ Zusatz.
Die Formel (mit = und Summe) funktioniert nicht.. #Fehler

Habe jetzt noch etwas rumprobiert.. Wenn ich die Summenformel (s.O.) raus nehme geht die normale Summe wieder, auch die berechneten Felder (in Abfrage) [Restwert] und [stornoohne] lassen sich summieren.
Sobald ich aber die Summe aus dem berechneten Feld - basierend auf dem Tabellen/Abfrageinhalt [rgWert] und den beiden in der Abfrage berechneten Werten [Restwert] und [Stornoohne] - [RgWertBer] (hier die Wenn Formel drin - rechnet richtig) aufsummieren möchte gibt er für alle berechneten Felder im Formularfuß #Fehler