Hallo,
hab da eine kleine
SQL Abfrage, eigentlich klappt auch alles genau so wie es soll, aber irgendwie wird das Komma verschluckt.
Die
SQL Abfrage soll lediglich ein paar Beträge addieren. Das Ergebnis wird auch richtig erfasst, lediglich "ohne" Komma.
Tabelle "endpreis" ist vom Typ String (Werte á la 129,99 oder 19,99)
Code:
Form1.Query1.Active := False;
Form1.Query1.SQL.Clear;
Form1.Query1.Sql.Add('SELECT SUM(CAST(endpreis as float)) AS anzahl FROM verkaeufe WHERE CAST(Angebotsende as date) BETWEEN :tag_von AND :tag_bis');
Form1.Query1.ParamByName('tag_von').AsDate := StrToDate('01.'+month_data+'.'+year_data);
Form1.Query1.ParamByName('tag_bis').AsDate := StrToDate(IntToStr(anz_tage)+'.'+month_data+'.'+year_data);
Form1.Query1.Open;
showmessage(Form1.Query1.FieldByName('anzahl').AsString);
Also Ergebnis käme hier von "9,40 + 10,20" nicht "19,60" heraus, sondern "1960". Ich weiß nicht woran es liegen könnte, hab folgende
SQL Abfragen bereits probiert (ohne Erfolg):
Code:
Form1.Query1.Sql.Add('SELECT SUM(CAST(endpreis as integer)) AS anzahl FROM verkaeufe WHERE CAST(Angebotsende as date) BETWEEN :tag_von AND :tag_bis');
Form1.Query1.Sql.Add('SELECT SUM(CAST(endpreis as money)) AS anzahl FROM verkaeufe WHERE CAST(Angebotsende as date) BETWEEN :tag_von AND :tag_bis');
Form1.Query1.Sql.Add('SELECT SUM(CAST(endpreis as float)) AS anzahl FROM verkaeufe WHERE CAST(Angebotsende as date) BETWEEN :tag_von AND :tag_bis');
Form1.Query1.Sql.Add('SELECT SUM(CAST(endpreis as char)) AS anzahl FROM verkaeufe WHERE CAST(Angebotsende as date) BETWEEN :tag_von AND :tag_bis');
Vielen Dank schonmal für die Hilfe