Summe aus Listenfeld

Hallo,

ich habe in einem Formular ein Listenfeld welches ich über verschiene Combo Boxen filtern lasse. Wenn diese geändert werden wird der VBA befehl List2.Requery ausgeführt.

Das funktionier soweit absolut spitze. Jetzt habe ich in dem Listenfeld allerdings Mengenangaben die ich gerne in einem Extra Feld als Summe ausgegeben hätte.

Ich habe es mit =Sum(List2.Column(4)) versucht das funktioniert allerdings nicht. Ich denke aber ich bin auf dem richtigen weg. Wenn ich =List3.Column(4) eingebe bekomme ich immer den Wert der entsprechenden Zeile.

Kann mir jemand auf die Sprünge helfen?

Danke

Holla

List2.Requery

definiert die hinter dem Listenfeld stehende SQL-Klausel bzw. führt sie aus.

Ergo müsstest Du direkt auf die Quelle der Listenfelddaten zugreifen. Beispiel: Wenn Dein Listenfeld List2 mit der Anweisung „SELECT Gesamtpreis FROM Rechnungen WHERE Lieferant=LiefNr …“ hieße, wäre die anzuzeigende Summe mit „SELECT Sum(Gesamtpreis) FROM List2.RowSource …“ abzufragen. Sollte das nicht gehen (kann momentan nicht testen!), machst Du aus List2.RowSource einfach einen Recordset …

Gruß Eillicht zu Vensre

Hey,

danke für die schnelle antwort. Leider funktioniert das so nicht. Zumindest nicht so wie ich es versucht habe. Die Summe soll in einem Normalen Textfeld ausgegeben werden.
Die SQL Abfrage des Listenfeldes ist folgende:

SELECT
Patchkabel.ID, Patchkabel.[Ausgegeben an], Patchkabel.[Auftrag Nr], Patchkabel.KST, Patchkabel.Menge, Patchkabel.Datum, Patchkabel.Typ, Patchkabel.Länge, Patchkabel.Wellenlänge
FROM Patchkabel
WHERE Patchkabel.Typ=txt_typ And Patchkabel.Länge=txt_lenght And Patchkabel.Wellenlänge=txt_wellenl ORDER BY Patchkabel.Datum DESC;

In das Textfeld hab ich folgende Abfrage geschrieben:
SELECT
Sum(Patchkabel.Menge) FROM Patchkabel
WHERE
Patchkabel.Typ=txt_typ And Patchkabel.Länge=txt_lenght And Patchkabel.Wellenlänge=txt_wellenl;

So würde ich ja jeweils die eigentliche Quelle abfragen.

Im Textfeld bekomme ich aber nur " #Name? " angezeigt.

Ein Recordset habe ich erst einmal erstellt und bin da auch nich so wirklich fit drin :-/

So geht das auch nicht - man kann ja nicht einfach SQL in den Steuerelementinhalt eines Textfeld hineinschreiben.

Verwende die Funktion DSum/DomSumme im Steuerelementinhalt des Textfelds, also:

= DomSumme("Menge";"Patchkabel";"Typ='" & txt\_typ & "' And Länge=" & Str(txt\_lenght)) & " And Wellenlänge=" & Str(txt\_wellenl))

dabei angenommen, dass „Typ“ ein Textfeld ist und „Länge“ und „Wellenlänge“ Zahlenfelder.

Gruß aus dem Norden
Reinhard Kraasch

(http://www.dbwiki.de - das Datenbank-Wiki)