[ Bojan Kopanja @ 26.12.2005. 16:46 ] @
Imam neke prastare baze koje moram da ocuvam takve kakve su, tako da koristim BDE komponente za pristup njima ( imaju *.dbf extenziju ) i naisao sam na problem kod pretrazivanja te baze...

Do sada je sve radilo identicno kao sa ADO komponentama ( upisivanje podataka, izmena podataka, brisnje i sl. ), ali kada ubacim jednu jednostavnu proceduru:
Code:
procedure TForm1.Edit4Change(Sender: TObject);
begin
  Table2.Locate('SIFRA', Edit4.Text, []);
end;
ne desi se apsolutno nista!

Znaci ne izbaci nikakvu gresku, ali me ni ne pozicionira u DBGrid-u na pronadjeni rekord, nego je i dalje selektovan rekord cija je sifra 1.

Zna li neko gde gresim i kako da sredim ovo... Frka je velika sa vremenom, tako da unapred zahvaljujem na brzim odgovorima .

[Ovu poruku je menjao Strog dana 26.12.2005. u 17:47 GMT+1]
[ Srki_82 @ 26.12.2005. 17:29 ] @
I ja sam imao isti problem i jedino resenje koje sam uspeo da pronadjem (a nisam mnogo trazio jer me je mrzelo ) je da "rucno" protrcim kroz sve rekorde i pronadjem sta ni treba. Dakle...
Code:
Table.First;
while (not Nasao) or (Table.Eof) do
begin
  Nasao := Table.FieldByName['Sifra'] = 10;
  if not Nasao then Table.Next;
end;

Kad se while zavrsi ako je promenljiva Nasao = True onda je trenutni record onaj trazeni, a ako je Nasao = False onda je tabela na kraju. Jeste da je sporo, ali je jednostavno
[ Bojan Kopanja @ 26.12.2005. 17:32 ] @
Da, ovo je bas sporo... Meni bi ipak trebalo nesto brze posto u svakoj od ovih baza ima po ~9000 rekorda, tako da bi ovo bilo ogromno usporenje, a pretraga mi treba dosta cesto... Ima li neko jos neku ideju ?
[ Bojan Kopanja @ 26.12.2005. 19:12 ] @
Nema veze ljudi, resio sam problem ...

Fora je bila u tome da sam pored ovog koda sto sam gore napisao morao da stavim jos
Code:
Table2.Open

ispred onog Table2.Locate(...), mada mi nije bas najjasnije zasto posto je vec sve bilo otvoreno i spreno za pristup... Ma nema veze, vazno je da radi i to trenutno .
[ Srki_82 @ 26.12.2005. 19:30 ] @
Hehe... nikad mi ne bi palo na pamet da uradim Open... hehe... mislio sam da je vec open kad mogu da pisem i citam... ko zna kakvih jos stvari ima sa ti starim bazama. Sreca pa ih vise ne koristim
[ Bojan Kopanja @ 26.12.2005. 20:23 ] @
Hehe, pa to i kazem :). Ovo sam slucajno uradio posto mi je izbacio bio neku
gresku kad sam nesto promenio, tipa "Can't perform that action on a closed
DataSet" pa sam onda probao rucno da otvorim i gle cuda, sve je proradilo
:).