• 9 odgovora
  • 4.467 pregleda
Filtriranje od datuma do datuma?!!! Problem? 22.06.2006. u 00:59 · pre 247 meseci #1
Evo ovako, imam polje DATUM (type: Text), ciji je format 21.6.2006 !!!
Postavio sam dva TEdit-a i filtriranje sam odradio:
Code:

   with ADOQuery do
    begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT * FROM TABELA');
    SQL.Add('WHERE (DATUM BETWEEN ' + QuotedStr(EditDatum1.Text) + ' AND ' + QuotedStr(EditDatum2.Text)+')');
    Open;
   end;

Sta je problem? Kad u EditDatum1 unesem (15.6.2006), a u EditDatum2 ( 20.6.2006 ), filtriranje se odradi samo ako oba datuma postoje u koloni.
Meni treba da, ako otkucam (10.1.2006) i (15.4.2006) izbaci sve redove koji sadrze datume izmedju ova dva, ukljucujuci i njih, ako postoji takva vrednost, a ako ne samo vrednosti izmedju njih?! Hocu sve redove koji imaju datum izmedju ova dva zadana, ukratko?!!!

Hvala unapred...
Re: Filtriranje od datuma do datuma?!!! Problem? 22.06.2006. u 05:00 · pre 247 meseci #2
Problem je sto si polje datum definisao kao Text i onda tvaj uslov iz upita trazi stringove a ne datume. Sa kojom bazom radis? Ako baza podrzava customizaciju podataka probaj ovako:
Code:

select *
from tabela
where cast(datum as date) between :datum_od and :datum_do

Ako ne ide ovako, moraces da promenis format polja i radice i tvoj upit.
Potpis
Marcha
-----------------------------------
Pretpostavka je majka zajeba.
Re: Filtriranje od datuma do datuma?!!! Problem? 22.06.2006. u 09:13 · pre 247 meseci #3
Radim sa Access-om, OK, definisacu polja kao Date-Time. Postavicu dva DateTimePicker1(datum-od)
DateTimePicker2(datum-do). E, sad u ovoj situaciji kako da resim problem koji sam naveo u
prvom postu? Molim, ako mozete da pokazete na ovom primeru:
Code:

with ADOQuery do
 begin
 Close;
 SQL.Clear;
 SQL.Add('SELECT * FROM TABELA');
 SQL.Add('WHERE (DATUM BETWEEN ' + ??? + ' AND ' + ??? +')');
 Open;
end;
Re: Filtriranje od datuma do datuma?!!! Problem? 22.06.2006. u 12:30 · pre 247 meseci #4
Probaj ovako
Code:

with ADOQuery do
 begin
 Close;
 SQL.Clear;
 SQL.Add('SELECT * FROM TABELA');
 SQL.Add('WHERE DATUM BETWEEN :datum_od AND :datum_do');
 Parameters.ParamByName ('DATUM_OD').AsDateTime:=DateTimePicker1.Date;
 Parameters.ParamByName ('DATUM_DO').AsDateTime:=DateTimePicker2.Date;
 Open;
end;
Potpis
Marcha
-----------------------------------
Pretpostavka je majka zajeba.
Re: Filtriranje od datuma do datuma?!!! Problem? 22.06.2006. u 13:49 · pre 247 meseci #5
Dva pitanja:

1)Odradio sam:
Code:

with ADOQuery do
 begin
  Close;
  SQL.Clear;
  SQL.Add('SELECT * FROM LICA');
  SQL.Add('WHERE DATUM BETWEEN :DATUM_OD AND :DATUM_DO' );
  Parameters.ParamByName ('DATUM_OD').AsDateTime:=DateTimePicker1.Date;
  Parameters.ParamByName ('DATUM_DO').AsDateTime:=DateTimePicker1.Date;
  Open;
end;

ali greska:
Citat:

[Error] Unit1.pas(72): Undeclared identifier: 'AsDateTime'

Gledao sam u help-u i koliko sam skontao, spada pod System (unit)???
Mala pomoc mi treba? Ubacio sam u uses System, ali greska!

2)U DBGrid-u imam kolonu Status. Za nju sam property PickList
dodao:
AKTIVAN
NIJE AKTIVAN
Kad je program aktivan tad u dbgrid-u u toj koloni mogu za odredjen record (red)
da menjam vrednost (AKTIVAN-NIJEAKTIVAN). Kako da odradim da mi izmena koju
izvrsim ostane u tabeli?

Citat:
Pretpostavka je majka zajeba...


Re: Filtriranje od datuma do datuma?!!! Problem? 23.06.2006. u 12:10 · pre 247 meseci #7
Probao sam ali opet:
Citat:

[Error] Unit.pas(72): Undeclared identifier: 'AsDateTime'

Code:

   with ADOQuery do
    begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT * FROM LICA);
    SQL.Add('WHERE DATUM BETWEEN :DATUM_OD AND :DATUM_DO' );
    Parameters.ParamByName('DATUM_OD').AsDateTime:=DateTimePicker1.Date;
    Parameters.ParamByName('DATUM_DO').AsDateTime:=DateTimePicker2.Date;
    Open;
   end;

Jel treba nesto da se doda u uses?
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme