Hi Hansa,
Zitat:
HAVING (SUM (UMSATZ) <> NULL)
Mit "0" geht das zwar, aber ich habe gesehen, daß da doch ziemlich viele NULL Werte drin sind. Wie grenze ich denn die jetzt noch aus ?
Wie lautet das ganze
SQL-Statement? "UMSATZ" ist bisher noch nicht aufgetaucht.
Sollte es aber um die GESMENGE gehen, so kann diese NULL nicht enthalten, wenn man in der SP vor SUSPEND
IF (GESMENGE is NULL) THEN GESMENGE = 0;
einfügt. Das kann man auch immer einfach auf ..WHERE GESMENGE>0 prüfen.
Zitat:
Aber wie greife ich denn jetzt mit Delphi darauf zu ?
wo ist den das Problem?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
{ FIBDataSet1.SQLs.SelectSQL:
select A.NR, A.BEZ, T.GESMENGE
from art A
left join TESTSP_GES(:VonMonat,:BisMonat, A.ID) T on (1=1)
@@Filter@
}
begin
FIBDataSet1.Close;
FIBDataSet1.ParamByName('VonMonat').AsInteger := StrToIntDef(EVon.Text, 0);
FIBDataSet1.ParamByName('BisMonat').AsInteger := StrToIntDef(EBis.Text, 999999);
if CBOhne0Mengen.Checked then
FIBDataSet1.ParamByName('Filter').AsString := 'where GESMENGE>0'
else
FIBDataSet1.ParamByName('Filter').AsString := '';
FIBDataSet1.open;
end;
alex