[ popmilan76 @ 19.08.2013. 20:31 ] @
Imam bazu u kojoj su polja datum,radnik,prisutan...kako da uradum da mi stampa podatke za najvise ceo mesec a da izgleda ovako....
Radnik 08.07.2013 09.07.2013 10.07.2013 ...
Petar Petrovic Da Ne Da
Milan Milanovic Da Da Da
...

Znaci da redovi budu radnici,a kolone datumi,a izmedju da li je radnik prisutan ili ne....Jel to moguce uraditi?Hvala unapred
[ captPicard @ 20.08.2013. 13:34 ] @
Ima više načina (iako bi ja složio tablicu "obrnuto" od tebe).

Jedan "prljavi" način je da kreiraš temporary tablicu sa kolonama 1-31 i SIFRA_RADNIKA i onda to ispisuješ (1-30, 1-31, 1-27, 1-28 ovisno o mjesecu). Na taj način nema previše kemijanja oko reporta.

I pitanje je kako su ti postojeće tablice popunjene, da li za svaki dan postoji zapis za svakog radnika, bez iznimke?
[ popmilan76 @ 20.08.2013. 14:54 ] @
Za svaki dan,sem nedelje postoji zapis da ili ne,za skoro svakog radnika...Odradio sam to u excelu,pa kolone su 1,2,3,4,,pa pored radnika stavljam +,kada radi,i - kada ne radi....ali bi mi tako nesto trebalo u delphiju
[ captPicard @ 20.08.2013. 23:12 ] @
Kolona u Excel-u nije isto šta i kolona(polje) u bazi podataka. Gle, najjednostavniji način je da napuniš npr. StringGrid sa podacima i to preslikaš u report.
[ popmilan76 @ 21.08.2013. 07:14 ] @
Znam da nije isto,ali to sam rekao kako bi to ilustrovao na sta lici...ako to i uradim u stringgridu,kako da mi u reportu izlaze redovi sa imenima,a kolone sa datumima,a izmedju da bude da ili ne...
[ savkic @ 21.08.2013. 10:13 ] @
Ne znam koju bazu koristiš, neke imaju mogućnost da od redova naprave kolone (cross tab query), ako tvoja baza to nema, moraćeš sam da napraviš što i nije toliko teško.
Napravi neku memorijsku tabelu (možeš i client dataset) sa željenim poljima (datumi) i onda redom kreni i popunjavaj je vrednostima iz baze, kasnije samo iskoristi tu custom tabelu u izveštaju.

[Ovu poruku je menjao savkic dana 21.08.2013. u 12:07 GMT+1]
[ popmilan76 @ 21.08.2013. 15:16 ] @
A kakva je varijanta sa Decision cube,jel moguce sa njom odraditi tako nesto...Paradox tabela je,i ne podrzava crosstab query...
[ captPicard @ 21.08.2013. 19:34 ] @
Primjer tablice, možda je ovako jasnije:

Code:
tblIspis
-----------
ID
SIFRA_RADNIKA
1
2
3
4
...
...
...
...
31


izvrtiš sve radnike po datumima i psotavljaš vrijednosti da/ne ili kako već želiš. Zatim napuniš dataset od reporta i to je to, najjednostavnije rješenje.

[Ovu poruku je menjao captPicard dana 21.08.2013. u 23:09 GMT+1]
[ popmilan76 @ 21.08.2013. 19:43 ] @
Jasno mi je to sa 1,2,3,4,,mogu tu stajati i datimi ,nije bitno,ali kako da stavim radnika u kolonu,ako ga postavim qreport icice uvek vertikalno,ne i horiyontalno...Ne ynam da li me rayumete...
[ captPicard @ 21.08.2013. 22:11 ] @
Ići će točno onako kako si ti naveo u primjeru. Polja datuma će ti biti kolone a radnici redovi.
[ popmilan76 @ 22.08.2013. 09:19 ] @
Pa nece ici tako,kada pokusam da stavim radnika u kolonu,prikazace samo jednog radnika,nece sve...
[ savkic @ 22.08.2013. 10:41 ] @
> Pa nece ici tako,kada pokusam da stavim radnika u kolonu,prikazace samo jednog radnika,nece sve...

Ako imaš 10 radnika, dodaćeš 10 recorda, ako imaš 100 radnika dodaćeš 100 recorda. Dakle za svakog radnika koga imaš dodaješ novi slog (AppendRecord, InsertRecord...) i popunjavaš ostala datumska polja, kada je radio itd. Baš onako kakav si primer dao u prvoj poruci.
[ popmilan76 @ 22.08.2013. 13:41 ] @
Meni to nece ,mene to sljaka ovako

radnik datum prisutan
Petrovic 16.06.2013 da
Petrovic 17.06.2013 da
Jankovic 15.06.2013 da


a ja hocu ovako

radnik 16.06.2013 17.06.2013 15.06.2013
petrovic da da
Jankovic da


da mi datumsko polje prikaze sve u koloni(jedno pored drugog horizontalno) ali horizontalno,a ne vertikalno....
[ savkic @ 22.08.2013. 17:53 ] @
Hajde da krenemo redom:

1)
Napravi neku memorijsku tabelu (možeš i client dataset) sa željenim poljima, prvo polje ti je radnik tipa string, drugo polje je 1.1 tipa boolean (ili string), treće polje je 2.1. tipa boolean (ili string), četvrto polje je 3.1... Dakle imaćeš datumskih polja koliko ima i dana u mesecu.

2)
Učitaš sve podatke (kojim danima je radio) o radniku Pera Peric, u polje radnik upišeš ime radnika, u polje 1.1. upišeš da li je radio tog dana u polje 2.1. upišeš da li je radio tog dana u polje 3.1. upišeš...

3) Dodaš novi slog

4) Učitaš sve podatke o radniku Mika Mikicu polje radnik upišeš ime radnika, u polje 1.1. upišeš da li je radio tog dana u polje 2.1. upišeš da li je radio tog dana u polje 3.1. upišeš...

5) Ponavljaš proces za sve radnike.

Kreni redom po stavkama pa konkretno kaži šta ti nije jasno.
[ popmilan76 @ 22.08.2013. 18:09 ] @
Ne znam ja to da objasnim,radnike kucam na nivou jednog preduzeca a imam vise preduzeca,radnici su vezani za svako od tih preduzeca...
Meni izadje ovo....a to necu,vec ono sta je napisano....
i da izadje samo jedan radnik,da se ne pojavljuju duplikati,sa da ili ne...i datumima
radnik--------------------datum------------------prisutan
radnik----------16.07.2013-----------------------17.07.2013
petar petrovic--------da------------------------------ne----------
janko jankovic--------ne-------------------------------da-------------

[ savkic @ 22.08.2013. 19:21 ] @
> Ne znam ja to da objasnim,radnike kucam na nivou jednog preduzeca a imam vise preduzeca,radnici su vezani za svako od tih preduzeca...
> Meni izadje ovo....a to necu,vec ono sta je napisano....

Vidiš li listu koju sam poslao u prethodnoj poruci? Tu ti je algoritam koji ti treba, konkretan kod ti ne mogu dati jer ima dosta da se piše, ali verujem da možeš taj deo i sam. Dakle, kreni od stavke 1 i napravi polja u tabeli.
[ captPicard @ 22.08.2013. 22:53 ] @
Citat:
captPicard:
Primjer tablice, možda je ovako jasnije:

Code:
tblIspis
-----------
ID
SIFRA_RADNIKA
1
2
3
4
...
...
...
...
31


izvrtiš sve radnike po datumima i psotavljaš vrijednosti da/ne ili kako već želiš. Zatim napuniš dataset od reporta i to je to, najjednostavnije rješenje.

[Ovu poruku je menjao captPicard dana 21.08.2013. u 23:09 GMT+1]


Tu ti je tablica koju miraš napraviti i kolega Savkic ti je dao algoritam, ne vidim u čemu je problem. Probaj napraviti, testiraj i vidjet ćeš da je u redu. Ako imaš više preduzeća možeš još dodati kolonu preduzeće u tablicu makar ti u principu ne treba jer je to temporary tablica.
[ popmilan76 @ 23.08.2013. 14:45 ] @
Ali ljudi kako da napravim da mi kolona ide horizontalno,a ne vertikalno,kako inace ide....
[ captPicard @ 24.08.2013. 21:49 ] @
:D pa opet ti ponavljam, kolone će ti ići horizontalno. PRobaj napraviti pa ćeš vidjeti. Ja sam ti dao primjer tablice u bazi podataka a ne primjer kako će izgledati ispis.