[ korak @ 13.09.2011. 12:27 ] @
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:09 ] @
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.
[ cdorde @ 15.09.2011. 08:25 ] @
Onako napamet bez Delphi-ja ispred sebe:

Svojstvo KeyField (mislim da je u jednini a ne u množini) mora biti postavljeno na ime kolone u tabeli (u tvom slučaju kolona iz tabele Prodaja tj. vrijednost je Kupac a ne ProdajaKupac).

Zašto ne možeš ažurirati slog? Pa dodao si lookup polje koje se zove ProdajaKupac i koje ispod sebe ima kolonu tabele koja se zove ProdajaKupac! Ovo polje ne postoji u fizičkoj tabeli i normalno da takvu tabelu ne možeš ažurirati. Dodatno, provjeri i postojanje primarnog ključa na svim tabelama.