Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

delphi baza podataka

[es] :: Pascal / Delphi / Kylix :: delphi baza podataka

[ Pregleda: 2624 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dankovuk

Član broj: 133828
Poruke: 40
188.124.199.*



Profil

icon delphi baza podataka16.06.2012. u 17:12 - pre 144 meseci
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.
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: delphi baza podataka17.06.2012. u 10:48 - pre 144 meseci
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.
F
 
Odgovor na temu

dankovuk

Član broj: 133828
Poruke: 40
188.124.199.*



Profil

icon Re: delphi baza podataka17.06.2012. u 12:02 - pre 144 meseci
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
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: delphi baza podataka17.06.2012. u 13:39 - pre 144 meseci
> 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

 
Odgovor na temu

dankovuk

Član broj: 133828
Poruke: 40
188.124.199.*



Profil

icon Re: delphi baza podataka18.06.2012. u 10:46 - pre 144 meseci
po ovome moram svaki put da kucam i podatke o radniku umjesto samo podatke o plati i primanjima
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: delphi baza podataka18.06.2012. u 11:30 - pre 144 meseci
> 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.
 
Odgovor na temu

dankovuk

Član broj: 133828
Poruke: 40
188.124.199.*



Profil

icon Re: delphi baza podataka18.06.2012. u 16:42 - pre 144 meseci
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
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: delphi baza podataka20.06.2012. u 13:46 - pre 144 meseci
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;

F
 
Odgovor na temu

dankovuk

Član broj: 133828
Poruke: 40
*.teol.net.



Profil

icon Re: delphi baza podataka21.06.2012. u 18:12 - pre 144 meseci
hvala druze, tvoj sam duznik
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: delphi baza podataka

[ Pregleda: 2624 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.