Problem mit SQL Abfrage Sum()



  • Hi Leute,
    hab mal wieder ein Problem mit meinem Progrmm und der MS Access DB.

    Verbindung Abfragen usw. steht und funktioniert auch alles.
    Hab eine Tabelle mitarbeiter mit dem Feld: betrag
    betrag ist vom Typ float.
    Nun mach ich eine Abfrage:

    SELECT sum(betrag) FROM mitarbeiter

    Das Beste ist, WENN kein Mitarbeiter einen KommaBetrag hat sprich 1,25 oder so ..also wenn alle GanzzahlWerte haben 1€ oder 2€ usw. funktioniert die Abfrage OHNE Probleme. Hat ein mitarbeiter einen KommaBetrag kommt immer die Fehlermeldung: Daten abgeschnitten.

    Kann mir da vielleicht Jemand weiterhelfen? Typ mit dem ich drauf zugrief eist bei der Uebergabe Single und ich kann auch sonst Betrag ein,auslesen damit rechnen alles gar kein Thema nur sum() stellt sich mit Kommastellen an.

    Hab schon überlegt ob ich einfach alle Mitarbeiter selektiere und von Hand summiere aber das wäre mein absolut letzter Notnagel.



  • Damit du bei Access kommazahlen verarbeiten kannst, muss dies meines wissens nach eingestellt werden... Probier mal mit punkt statt komma, wenn das geht, dann ist dein access nicht umgestellt, frag aber nicht wo das geht, habs nur ma gehört 😉

    zum code nen kl. verbesserungsvorschlag...

    SELECT sum(betrag) as sum_betrag FROM mitarbeiter
    

    sum_betrag ist dann die Ausgabevariable

    MfG Reen



  • Versteht Access CAST?
    Wenn ja dann ginge vielleicht "SELECT SUM(CAST(spalte AS blubb)) FROM ...".
    Für blubb müsstest du dann einen Datentypen nehmen der Nachkommastellen unterstützt. Keine Ahnung wie das in Access heisst. Decimal vielleicht, oder Numeric.
    Wahrscheinlich noch mit Parametern, also Decimal(10, 3) oder irgendwas in der Art.



  • entweder mit ROUND(Runden) oder mit CLng(ZLong)


Anmelden zum Antworten