[ epehlic @ 03.03.2005. 14:26 ] @
Molim pomoc, za pocetnika.

Problem je u filtriranju baze. Kad želim filtirati bazu po određenom polju nije problem, u ComboBox izaberem polje po kojem zelim filtrirati i ide.
Pitanje je kako filtrirati bazu odmah po svim poljima, konkretno u ovom probnom codu se radi od dva polja, da npr. u ComboBox dodam jos jedan kljuc filter ''po svemu'' i da dobijem trazeni upit?


procedure TForm1.Button1Click(Sender: TObject);
begin
if Combobox1.ItemIndex = 0 then
Table1.Filter := 'Name = ' + QuotEdStr(Edit1.text);
if Combobox1.ItemIndex = 1 then
Table1.Filter := 'Capital =' + QuotEdStr(Edit1.Text);
end;


Hvala!
[ broker @ 03.03.2005. 15:41 ] @
Malo ti ej nejasno pitanje.

U fitler tabele mozes da ubacis izraz koji daje True ili False a on moze da se sastoji i od vise logickih izraza recimo Ime = 'Pera' AND Mesto = 'Beograd'

E sad kako ces ti uinterfejsu da resis unos to zavisi od konkretnog slucaja.
[ DeYo @ 03.03.2005. 17:08 ] @
Bolje bi ti bilo da koristi Query komponentu pa da formiras SQL upit.
Nesto tipa:

Code:

Query1.SQL.Clear;
Query1.SQL.Add('SELECT * FROM MojaTabela');
case CombBox1.ItemIndex of
 0: Query1.SQL.Add('WHERE Name='+QuotedStr(Edit1.text));
 1: Query1.SQL.Add('WHERE Capital='+QuotedStr(Edit1.text));
end;
Query1.Open;


Povezivanje Query-ja sa DataSet-om je identicno kao za Table. A ako koristis Query imas mogucnost za mnogo naprednije upite.


[ engineer @ 05.03.2005. 10:48 ] @
Citat:
Pitanje je kako filtrirati bazu odmah po svim poljima, konkretno u ovom probnom codu se radi od dva polja, da npr. u ComboBox dodam jos jedan kljuc filter ''po svemu'' i da dobijem trazeni upit?
Ako sam dobro razumeo, "filtrirati bazu odmah po svim poljima" bi znacilo prikazati sve slogove (records) iz tabele, a za tako nesto jednostavno iskljuci filter