Radim aplikaciju za rad sa nekom bazom (access baza je u pitanju), zavrsio sam posao oko unosa podataka u tabele i sada sam poceo da pravim pregled tih podataka, zavisno od zadatih uslova.
Konkretno, imam dve tabele, tblRadnici i tblDecaRadnika (da se lako zakljuciti sta se nalazi u tabelama :)). Polje koje ih veze je RadnikID. Ono sto sam zamislio je da u gornjem dbgridu ispisujem
podatke o radnicima, a da se klikom na odredjenog radnika u donjem grid-u prikazuju podaci o njegovoj deci. E sad, ja sam ceprkao po netu, naso sam ovaj sajt http://support.microsoft.com/kb/189657,
a nasao sam i primer u BCB 6-ici koji bas ovo radi. Medjutim, ja kada to odradim na svom primeru (da napomenem da radim u Borlandu 2007), nece da radi.
Postavim 2 ADODataSet-a i vezem sa DataSource-ovima. Gornji DataSet povezem sa ADOConnection-om, unesem u CommandText properti SHAPE komandu i to kao:
SHAPE {select * from tblRadnici}
APPEND ({select * from tblDecaRadnika} AS Deca
RELATE RadnikID TO RadnikID)
I sad bi trebalo da u drugom DataSet-u imam ponudjeno da izaberem DataSetField u propertijima, ali kod mene je to prazno.
U primeru iz BCB 6 je ovako:
SHAPE {select * from customer}
APPEND ({select * from orders} AS Orders
RELATE CustNo TO CustNo)
i u drugom dataset-u ima kod DataSetField da se izabere CustomersOrders.
Ja kad pokusam da aktiviram gornji dataset, kaze "Invalid SQL statement; expected DELETE, INSERT, PROCEDURE, SELECT or UPDATE. Zbog ovoga i ne mogu da dodam polja u FieldsEditoru od dataset-u.
Ovo mi je prvi put da radim sa SHAPE i verovatno sam nesto prevideo. Mozda ima veze sto ja za ADOConnection koristim Microsoft.Jet.OLEDB.4.0 provajdera, a u primeru je MSDataShape.
Pokusao sam da promenim to kod sebe, da pokusam sa ovim drugim, ali mi izbacuje gresku da ne moze da inicijalizuje provajdera.
Ako neko zna u cemu je problem ili ako ima ideju kako da se ovo drukcije odradi, bio bih mu jako zahvalan na pomoci.