Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: hello_world am Juni 24, 2012, 16:33:08

Titel: Summe mit SQL
Beitrag von: hello_world am Juni 24, 2012, 16:33:08
Hallo,

ich habe scheinbar das gleiche Problem, wie schon einmal beschrieben. Und ich bin der Meinung, dass ich es genauso umgesetzt habe, wie dort beschrieben, trotzdem funktioniert es nicht.
Hier mein Code:


Dim db As dao.Database
Dim rs As dao.Recordset

Dim betrag_zahlungen As Double
'Dim betrag_gesamtbetrag As Double
Dim sql As String

Set db = CurrentDb

sql = "SELECT SUM(Betrag) as betrag_zahlungen FROM Zahlungen;"

Set rs = db.OpenRecordset(sql)

--> das Ergebnis in betrag_zahlungen ist 0, obwohl in der Tabelle ein Eintrag steht mit Wert...
Ich habe mit den Datentypen herumgespielt, sowohl in der Tabelle (Typ vom Feld Betrag ist jetzt als "Zahl" definiert, nicht wie anfangs als "Währung") als auch hier im Coding.
Die Select Anweisung hat keine WHERE-Bedingung, ich meine aber, dass das nicht notwendig ist....
Fehlt noch etwas? Oder wo ist mein Problem?

Danke schonmal im Vorraus für Antworten...
Titel: Re: Summe mit SQL
Beitrag von: daolix am Juni 24, 2012, 16:48:31
hallo

das
Dim betrag_zahlungen As Double
und
sql = "SELECT SUM(Betrag) as betrag_zahlungen FROM Zahlungen;"
haben nix miteinander am Hut
solange du die Variable betrag_zahlungen nicht änderst wird diese immer 0 betragen.
versuchs mal so:
.....
Set rs = db.OpenRecordset(sql)
if rs.recordcount > 0 then
betrag_zahlungen = rs("betrag_zahlungen")
debug.print betrag_zahlungen
end if
...

Statt
betrag_zahlungen = rs("betrag_zahlungen")
könnstest aber auch
betrag_zahlungen = rs(0)
schreiben


Titel: Re: Summe mit SQL
Beitrag von: hello_world am Juni 24, 2012, 17:05:37
Ouuuu...
Super, danke... nicht nur für die Antwort, sondern auch für die schnelle Antwort...

Da beisst man sich die Zähne aus, weil man keine Ahnung hat... Gewusst wie... :-)