Hallo,
Ich hab mal wieder ein Brett vorm Kopf!
In einer Tabelle habe ich eine Zeile, die mir einen Grössenwert angibt.
ich möchte nun diesen Wert für alle Datensätze einer bestimmten Kategorie aufaddieren und in einer Variable weiterverarbeiten. Mein code bisher sieht so aus:
Sub checkGroesse(Kat As String)
Dim db As Database
Dim rs As QueryDef
Set db = CurrentDb
Set rs = db.CreateQueryDef("", "SELECT Sum(DateiSize) AS DSum, KatID FROM tbl\_Datei GROUP BY KatID HAVING KatID=' & Kat'")
Ich hab in dem Objekt rs den Wert den ich brauche drinstehen (unter Fields-Items-Item1, kann aber nicht per code draufzugreifen…
Was fehlt mir da noch?
Danke für Eure Mühe
Hallo Michael,
Ich hab mal wieder ein Brett vorm Kopf!
*beilundsägehole*
ich möchte nun diesen Wert für alle Datensätze einer
bestimmten Kategorie aufaddieren und in einer Variable
weiterverarbeiten. Mein code bisher sieht so aus:
Was fehlt mir da noch?
der Code ist überflüssig, den es gibt die Funktion: DSUM
meineVariabel = DSUM(„Feld“,„Tabelle“,„Bedingung“)
Mehr ist nicht nötig 
Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)
Hi Wolfgang
Du bist meine Rettung! 
Das nächste Käffchen geht auf mich…
Und wenn ich wüsste wie man *chen vergibt, gäbs das auch 
Vielen Dank, hat super geklappt!!!
Wobei es schon gute Gründe gibt, nicht DSum, sondern eine eigene Funktion zu nehmen (DSum ist nämlich grottenlangsam). Als Einzeiler:
Public Function checkGroesse(Kat As String)As Long
checkGroesse = Currentdb.OpenRecordset("SELECT Sum(DateiSize) AS DSum FROM tbl\_Datei WHERE KatID='" & Kat & "'",dbOpensnapshot)(0)
End Function
Etwas ausführlicher:
Public Function checkGroesse(Kat As String)As Long
Dim RS as DAO.Recordset, DB as DAO.Database
Set DB = CUrrentdb()
Set RS = DB.OpenRecordset("SELECT Sum(DateiSize) AS DSum FROM tbl\_Datei WHERE KatID='" & Kat & "'",dbOpensnapshot)
If Not RS.EOF then CheckGroesse = RS(0)
End Function
Gruß aus dem Norden
Reinhard Kraasch
(http://www.dbwiki.de - das Datenbank-Wiki)