[ inherited @ 22.06.2006. 00:59 ] @
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...
[ marcha @ 22.06.2006. 05:00 ] @
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.
[ inherited @ 22.06.2006. 09:13 ] @
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;
[ marcha @ 22.06.2006. 12:30 ] @
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;
[ inherited @ 22.06.2006. 13:49 ] @
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...


[ _v!rus_ @ 23.06.2006. 09:21 ] @
Ukloni space
Code:

ParamByName ('DATUM_OD') 

           |
           V

ParamByName('DATUM_OD')
[ inherited @ 23.06.2006. 12:10 ] @
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?
[ Bojan Kopanja @ 23.06.2006. 21:15 ] @
Stavi ovako:
Code:
Parameters.ParamByName('DATUM_OD').Value:=DateToStr(DateTimePicker1.Date);


i radice ti 100%!
[ ivanho @ 23.06.2006. 22:11 ] @
Citat:
inherited
Jel treba nesto da se doda u uses?


Probaj da dodas DB
[ inherited @ 24.06.2006. 10:38 ] @
Reseno... Hvala....