[ mzarko @ 01.10.2005. 20:46 ] @
Na koji nacin je moguce filtrirati bazu tako da za Polje "Iznos" uvek bude isti uslov
i da za vise polja gde se upisuje datum "Datum1", "Datum2", "Datum3", "Datum4" i "Datum5" da vrsi filtriranje i da za dobijeni rezultat budu ispunjena dva uslova i to za prvi uslov da je iznos veci od 0 i za drugi da pronadje datum od - do u bilo koje polje od navedenih.

ADOTable1.Filter := 'Iznos > 0' +' and Datum1 >= '+quotedstr(datumm)+ 'and Datum1 <= '+quotedstr(datumv);
(datumm - DateTimePicker1.Date a datumv - DateTimePicker2.date)

Na ovaj nacin radi samo za jedno polje sa datumom i sta je potrebno jos uraditi da bi to sve funkcionisalo?

Unapred hvala
[ Srki_82 @ 01.10.2005. 22:09 ] @
Nisam bas siguran da razumem pitanje... uvek mozes u Filter da dodas AND Datum2 >= neki datum AND Datum2 <= neki daum... itd.

Mozda ce ti neko dati bolji odgovor ako bi malo bolje objasnio pitanje i dao nek primer.
[ marcha @ 02.10.2005. 02:56 ] @
Ako sam te doboro razumeo zelis sledece:
(Iznos>0) I ((xDatum izmedju Datum1 i Datum2) ILI (xDatum izmedju Datum3 i Datum4))

Posto nisam siguran da li ADO ima between probaj ovako:
Code:

function QuoteDate(ADatum:TDateTime):string;
begin
   Result:=QuotedStr(DateToStr(ADatum));
end;

function MyFilter(xDatum:TDateTime):string;
var qd:string;
begin
 qd:= QuoteDate(xDatum);
 Result:='((IZNOS>0)AND
               (
                (('+qd+'>=Datum1)and('+qd+'<=Datum2))
               or
                (('+qd+'>=Datum3)and('+qd+'<=Datum4))
               )
               )';
end;

Mozda ima neka zagrada vise-manje ....
Nemam ovde Delphi da isprobam...

Pozdrav





[Ovu poruku je menjao marcha dana 02.10.2005. u 12:02 GMT+1]