[ korak @ 13.09.2011. 12:29 ] @
Koristim Delphi 2006, i retko pisem preograme za obradu baza podataka. Sada upravo to radim i imam problem.

Imam tri tabele: Prodaja, Kupci i Roba, sledece strukture:
Prodaja: IDProdaje,Datum,Kupac,Roba;
Kupci : IDKupca,ImeKupca;
Roba : IDRobe,ImeRobe.

Imam DBGrid vezan za tabelu Prodaja. Zelim da polje u koloni Kupac i Roba bude lookaup. Vec kod kolone Kupac imam problem.

Sa Editorom polja dodao sam polje ProdajaKupac i za to polje imam sledeca svojstva:

KeyFields : ProdajaKupac;
LookupDataSet : Kupci;
LookupKeyFields : IDKupca;
LookupResultFild : ImeKupca;
FieldKind : fkLookup;
FieldName : ProdajaKupac.

U DBGrid imam kolonu ProdajaKupac, ali se ona ne ponasa kao lookup. Buni me gde pripada polje ProdajaKupac.

Kada startujem program, na formi se pojave tri DBGrid-a za sve tri tabele. Mogu da editujem tabele Kupci i Roba, ali ne mogu to sa
Prodaja. To ne mogu i kada ga preko Navigatora uvedem u edit stanje. Na koloni Datum se zvucnim signalom proprati svaki
pritisak na taster, ali ne i na koloni ProdajaKupac, mada nista ne upisuje niti se pojavljuje nesto sto bi licilo na ComboBox.

Vise puta sam proverio da li su dobro povezani tabela Prodaja, DataSource DSProdaja, DBGrid i pripadajuci Navigator. Takodje
i kolone DBGid-a i polja tabele Prodaja.

Napominjem da kada sam dodao editorom polja polje ProdajaKupac, njega sam dodao u tabelu Prodaja.

Izgleda da sam napravio mnogo glupu gresku, neka pomogne ko moze.

Unapred hvala.
[ korak @ 14.09.2011. 10:10 ] @
Kada sam postavio ovo pitanje mislio sam da cu ispasti "glup u drustvu".

Osecam da je ovo trivijalan problem, i kome je to uspelo samo jednom, taj bi mi sigurno pomogao. Cudi me da niko nije u DBGrid-u zeleo izbor iz padajuce liste (kao iz ComboBox-a) za sta je potrebno Lookup polje.

Inace ovo nije specificno samo za Delphi 2006, vec za sve predhodne verzije.

Nemam izbora nego da cekam jos malo da se pojavi neki znalac i da mi pomofne.

Pozdrav.
[ segment @ 14.09.2011. 11:26 ] @

Prvo valjda vo KeyField ti e samo kupac
Probaj na lookup poleto (ProdajaKupac) vo dbgridot vo ButtonStyle da stavis cbsAuto
[ korak @ 14.09.2011. 14:23 ] @
Probao.

Kada je:
KeyFields : Kupac;
Posle startovanja izbacuje glupu gresku da u tabeli Prodaja ne nalazi polje Kupac????
[ segment @ 15.09.2011. 08:33 ] @
vidi go primerov i vidi kade gresis ako nesto ne se snaogas pisi
[ captPicard @ 15.09.2011. 12:51 ] @
Postavi svoj primjer, lakše čemo pomoči.
[ korak @ 15.09.2011. 17:46 ] @
@segment

Hvala brate. Bilo mi je vazno da ukapiram da to novo lookup polje ne pripada tabeli, posle je bilo lako.

Hvala i drugima na trudu.
[ komplikator @ 29.09.2011. 14:14 ] @
Evo uvidio si i sam, to novo polje niti se može zvati kao već postojeća niti je postojeće polje, ono je samo mehanizam kojime se tvojem key polju pridružuje vrijednost sa liste.

Inače, lookup polja i tehnika lookup polja u ovoj standardnoj varijanti kao u delphiju je jako loša varijanta za imalo ozbiljniji posao sa bazama i puno kolega (tako i ja) je izbjegava. Alternativa su bolje, kbalitetnije lookup kontrole, oponašanje lookup kontrole, inteligentniji datasetovi ili potpuno drugačiji pristup bazi gdje se uvijek radi samo sa jednim slogom i uvijek najužim skupom podataka.