Listenpreise mit der Anzahl des gewünschten Artikels multiplizieren
Veröffentlicht am 25.05.2004
Frage:
Folgendes Problem: Ich habe eine Stückliste in einem Unterformular. In diese Liste gebe ich eine Anzahl in ein Feld ein und wähle dann in einem Kombinationsfeld den gewünschten Artikel aus.
Der Listenpreis erscheint als DomWert. Der Endpreis errechnet sich dann im nächsten Feld aus [Anzahl]*[Listenpreis]. Soweit funktioniert alles bestens. Jetzt möchte ich aber die Summe aller Endpreise in einem Extrafeld am Formularfuß bilden, um dieses Feld später vom Hauptformular aus aufzurufen. In das Feld kann ich ja nicht Summe([Endpreis]) eingeben. Auch nicht Summe([Anzahl]*[Listenpreis]). Ich habe es mit Summe([Anzahl]*DomWert(„[Listenpreis]“;“Liste Zusatzmaterial“;“[Artikel]=Formular![Artikel]“) versucht, also mit der DomWert-Anweisung aus dem Feld Listenpreis, aber dann werden die Anzahlen der einzelnen Positionen nicht mit den dazugehörigen Listenpreisen, sondern immer mit dem Listenpreis des ersten Artikels meiner Stückliste multipliziert. Da meine Artikel aber natürlich unterschiedlich teuer sind, kommt ein falsches Ergebnis heraus.
Wie kann ich Access überzeugen, immer die Anzahl mit dem dazugehörigen Listenpreis zu multiplizieren?
Antwort:
Zur Lösung des Problems sollten Sie als Datenherkunft für das Formular eine Abfrage verwenden und dort ein berechnetes Feld mit folgendem Ausdruck hinzufügen:
PreisPosition: [Anzahl]*[Listenpreis]
Fügen Sie dem Detailbereich des Formulars ein Textfeld mit dem Steuerelementinhalt PreisPosition hinzu.
Anschließend können Sie im Formularfuß den Ausdruck Summe([PreisPosition]) verwenden.