[ dankovuk @ 16.06.2012. 17:12 ] @
imam bazu podataka u kojoj se upisuju podaci o zaposlenim radnicima, ime,prezime, adresa,jmbg,strucnost i tako dalje, povezana je sa access bazom preko ado, sad mi treba da kad u dbgrid kliknem na odredjenog zapolslenog da mi otvori novi prozor u kom ce se nalaziti podaci odnosno novi dbgrid u kom cu moci upisivati njegova primanja, dugovanja, regres i tako dalje posebno za svaki mjesec, znam odraditi za jedan upis ali ne znam kako da mi delphi automatski stvori novu bazu kad kliknem na jednog od radnika u dbgrid-u i da tako automatski pravi i za druge radnike nove baze kad kliknem nanjih.
[ captPicard @ 17.06.2012. 10:48 ] @
Ne otvaraš novu bazu nego dodaješ novi record. Ovisi koje komponente koristiš, ali ovako nekako:

Code:
DataSet.Append;


ili

Code:
DataSet.Insert;


To je za dodavanje novog recorda. Ali koliko sam uspio shvatiti iz tvojeg pitanja, ti imaš dvije tablice (tj. morao bi imati a ko je baza pravilno definirana), jedna Radnici a druga Podaci. Ako želiš dodati redak u tablicu Podaci za određenog radnika onda bi morao imati dva Dataset-a, jedan za tabelu Radnici (koji je putem dataSource-a povezan na DBGrid kojeg si spomenuo) a jedan za tabelu Podaci. Za dodavanje novog recorda u tabelu Podaci bi išlo ovako nekako:

Code:
DataSetPodaci.Append;
DataSetPodaci.FieldByName('sifra_radnika').AsString := DBGrid.DataSource.Dataset.FieldByName('sifra_radnika').AsString;
DataSetPodaci.FieldByName('mjesec').AsString := str_varijabla_mjesec;


Ovo ti dodaje record u tablicu Podaci za radnika koji je odabran u DBGrid-u i za mjesec koji ti je definiran u varijabli str_varijabla_mjesec.
[ dankovuk @ 17.06.2012. 12:02 ] @
znaci kad na form1 kliknem u dbgrid1 na radnika marko markovic,da mi otvori novu odnosno form2, gdje ce u dbgrid2 koja se nalazi na form2 biti podaci npr. za svaki dan koliko je zaradio, ili mjesec, na form2 ce biti dugme snimi,brisi,novi unos, gdje cu u toj form2 upisivat i mjesnjat podatke samo o tom radniku,znaci tabela ce biti samo o njemu, kad kliknem nadrugog radnika isto tako tabelace biti samo o tom drugom radniku, zato mislim da mora automatski da kreira kopiju access baze kad svaki put kliknemna drugog radnika, kad drugi put kliknem da mi otvori postojecu ali kad prvi put kliknem da mi kreira novu kopiju baze,ako sam dobro objasnio
[ savkic @ 17.06.2012. 13:39 ] @
> znaci kad na form1 kliknem u dbgrid1 na radnika marko markovic,da mi otvori novu odnosno form2, gdje ce u dbgrid2 koja se nalazi na form2 biti podaci npr. za svaki dan
> koliko je zaradio, > ili mjesec, na form2 ce biti dugme snimi,brisi,novi unos, gdje cu u toj form2 upisivat i mjesnjat podatke samo o tom radniku,znaci tabela ce biti samo
> o njemu, kad kliknem nadrugog radnika isto tako tabelace biti samo o tom drugom radniku, zato mislim da mora automatski da kreira kopiju access baze kad svaki
> put kliknemna drugog radnika, kad drugi put kliknem da mi otvori postojecu ali kad prvi put kliknem da mi kreira novu kopiju baze,ako sam dobro objasnio

Ti svakako možeš raditi i tako kako si zamislio sa posebnom bazom za svakog radnika, ali to ti je kao da pošta za svako pismo šalje posebnog poštara, može ali nema mnogo logike.

Dakle, ti u toj drugoj tabeli imaš polje RADNIK_ID koje je povezano sa podacima iz prve tabele (radnici). Kada prikazuješ podatke iz druge tabele, napišeš kveri koji će dati samo podatke selektovanog radnika npr:

Code:

SELECT
  *
FROM 
  ZARADE
WHERE
  RADNIK_ID = 22; // 22 je ID selektovanog radnika u prvoj tabeli
[ dankovuk @ 18.06.2012. 10:46 ] @
po ovome moram svaki put da kucam i podatke o radniku umjesto samo podatke o plati i primanjima
[ savkic @ 18.06.2012. 11:30 ] @
> po ovome moram svaki put da kucam i podatke o radniku umjesto samo podatke o plati i primanjima

Ne moraš ti ništa da kucaš, sve što ti treba u drugoj tabeli je ID radnika a njega ćeš automatski upisati iz koda.
[ dankovuk @ 18.06.2012. 16:42 ] @
id=22 to kucam id nekog od radnika,kako onda kad ocu nekog drugog radnika da selektujem u tabeli da mi otvori podatke o njemu
[ captPicard @ 20.06.2012. 13:46 ] @
Fali ti osnovno znanje.

Code:
DSetDrugaForma.Close;
DSetDrugaForma.SelectSQL.Text := 'select * from tablica where radnik_id = :radnik';
DSetDrugaForma.Params[0].AsString := DBGrid.DataSource.DataSet.FieldByName('radnik_id').AsString;
DSetDrugaForma.Open;
[ dankovuk @ 21.06.2012. 18:12 ] @
hvala druze, tvoj sam duznik