Rechnen mit Formular und Textfeld / Access2000

Cylia

Grünschnabel
Hallo zusammen!

Ich moechte eine Summe aus einem Formular berechnen. Es gibt ein Formular mit mehreren Komboboxen, indem man die jeweiligen Parameter auswaehlen kann. Abschliessend muss noch eine Stueckzahl in ein Textfeld (?) eingegeben werden.

Meine Rechnung:

SELECT ([Price]+[PricePaper])*[Coefficient]*[Stueckzahl] AS [Sum]
FROM Format RIGHT JOIN (PrintRun RIGHT JOIN ((Colorfulness RIGHT JOIN Paper ON Colorfulness.ColorID = Paper.Color)
RIGHT JOIN Cutting ON Paper.PaperID = Cutting.Paper) ON PrintRun.PrintRunID = Colorfulness.PrintRun)
ON Format.FormatID = PrintRun.Format;

Wie gesagt, [Stueckzahl] soll per Hand eingegeben werden, die Summe soll in einem anderen Textfeld [Summe] automatisch erscheinen.

Um die vorherige Auswahl aus den Komboboxen zu beachten, muss ich das ja noch in der SQL-Abfrage kennzeichnen. Folgendes funktioniert an den obigen SQL-Code angehaengt leider nicht:

WHERE PrintRun.Format=Forms!PriceList!cbo_Format,
Colorfulness.PrintRun=Forms!PriceList!cbo_PrintRun,
Paper.Color=Forms!PriceList!cbo_Colorfulness,Cutting.Paper=Forms!PriceList!cbo_Paper;

Ich danke schon mal im voraus und freue mich ueber jeden Tipp.

Viele Gruesse
Cylia
 
Moin!
Ich würde nicht per SQL rechnen, sondern wie folgt:

Formular mit Deinen Kombo-Boxen, 1 Textfeld (gebunden) für die Anzahl und 1 Textfeld, in dem die Berechnung durchgeführt wird. In das TExtfeld trägst Du die gesamte Formel ein.
Bei dem Textfeld mit der Anzahl und den Komboboxen unter "Ereignis" den Punkt "nach Aktualisierung" wählen. Dort im VBA-Editor Code wie folgt eingeben:

Private Sub cmdSearch_Click()
Me.txtErgebnisfeld.requery
End Sub

Wenn nun die Anzahl, oder die Werte der Komboboxen geändert werden, wird das Textfeld mit der Formel aktualisiert.

In den meisten Fällen speichert man die einzelnen Werte in der DB und berechnet "zur Laufzeit" im Formular, oder im Bericht.
 
Danke fuer den Tip. Hat leider nicht funktioniert oder ich mache was falsch. Mir wird der Gesamtpreis einfach nicht angezeigt. Aber vielleicht habe ich auch ein grundlegendes anderes Problem.
Kann es daran liegen, dass ich mit dynamischen Kombifeldern arbeite und nicht mit Ober-/Unterformular?
Oder was ist der einfachste Weg etwas auszurechnen, wenn man vorher ueber dynamische Listen auswaehlt?
(Ich weiss, Anfaengerfragen, aber im Moment hilft mir nicht mal mein Access-Kompendium).

Gruss, Cylia
 
Zurück