[ popmilan76 @ 04.06.2012. 17:11 ] @
Kako da izbrojim prazna polja u dbgridu,posto te podatke posle saljem preko apenda u drugu bazu podataka,i ne bi smeli da odu sa nekim praznim poljima,imam tabelu radnika sa dosta polja,a polja koja moraju da budu popunjena jesu datum,i polje prisutan(da,ne),a ako neko zna,moze i da prilikom slanja u drugu bazu prijavi poruku ili neki error ako neka polja nisu popunjena,znam da to odradim prilikom selektovanog recorda,ali ovako ne,a ovo drugo mi je potrebnije...Unapred hvala
[ savkic @ 04.06.2012. 18:18 ] @
> Kako da izbrojim prazna polja u dbgridu,posto te podatke posle saljem preko apenda u drugu bazu podataka,i ne bi smeli da odu sa nekim praznim poljima,
> imam tabelu radnika sa dosta polja,a polja koja moraju da budu popunjena jesu datum,i

Nisi najjasniji. U dbGridu se ništa ne broji već se to radi u datasetu iz koga DBGrid vuče podatke. Ako je potrebno da vidiš za koja polja nije uneta vrednost, prođeš kroz sva polja tog dataseta i uporediš sa ''. npr:

Code:

for i := 0 to DataSet.Fields.Count - 1 do
  if DataSet.Fields[i].AsString = '' then
    UradiNesto;


Ako se neka polja moraju obavezno uneti, to možeš uraditi prilikom dizajna baze i za to polje staviti NOT NULL constraint odnosno required.
[ popmilan76 @ 04.06.2012. 22:37 ] @
Resio sam u medjuvremenu o0vim kodom upotrebom sql....

query2.Close;
query2.SQL.Clear ;
query2.SQL.Add ('select count(*) as prazno from baza');
query2.SQL.Add ('where posta = ' + quotedstr(frmnavigator.label1.caption));
query2.SQL.Add ('and prisutan is null');
query2.Open;
if query2prazno.Value > 0 then begin
showmessage('Upozorenje.Nisu azurirani svi radnici');
exit;
[ Vic @ 05.06.2012. 10:56 ] @
Bolje se drzi Savkic-evog predloga. Ovaj tvoj bespotrebno koristi resurse. Jednostavno ili u upitu za Grid odradi filter where nekopolje<>'' ili koristi vec predlozeno resenje.
[ popmilan76 @ 05.06.2012. 23:24 ] @
Hvala jos jednom.... i jos jedno pitanje imam tabelu sa poljima datum,radnik,prisutan...i treba mi upit za izestaj koji bi izgledao ovako....

02.02.2012 03.02.2012 04.02.2012
petar petrovic da da ne

milan milanovic da da da

mile kitic da da da

sinan sakic ne ne ne



imam formu sa dva datetimepicker i klikom na dugme da mi izlista prisutnost na poslu ,u ovom slucaju od 02.02.2012 do 04.02.2012



hvala

odradio sam sa query select * from arhiva
group by radnik

ali mi izlazi kolona za jedan datum,ne za sve
[ savkic @ 06.06.2012. 02:00 ] @
> Hvala jos jednom.... i jos jedno pitanje imam tabelu sa poljima datum,radnik,prisutan...i treba mi upit za izestaj koji bi izgledao ovako....
> 02.02.2012 03.02.2012 04.02.2012
> petar petrovic da da ne

Tebi treba neki crosstab/transform query, pogledaj u helpu za bazu koju koristiš da li to podržava i kakva je sintaksa.

> imam formu sa dva datetimepicker i klikom na dugme da mi izlista prisutnost na poslu ,u ovom slucaju od 02.02.2012 do 04.02.2012

Koliko ti je to rešenje praktično, šta ako neko ukuca celi mesec, tabela će imati 30 kolona.
[ popmilan76 @ 06.06.2012. 10:02 ] @
meni i treba najvise za celi mesec,neka ima sve radne dane i subote,znaci oko 25 dana u mesecu,pa neka izadje na dve strane,smanjicu maksimalno font,ali moram tako,to mi ide i na stampu
[ popmilan76 @ 06.06.2012. 10:20 ] @
sintaksa crosstab ili transform nisu podrzane u mojo bazi ,a ona je paradox,da li je to moguce nekako izvesti pomocu coda
[ savkic @ 06.06.2012. 18:29 ] @
> meni i treba najvise za celi mesec,neka ima sve radne dane i subote,znaci oko 25 dana u mesecu,pa neka izadje na dve strane,smanjicu maksimalno font,ali moram tako,
> to mi ide i na stampu

Ako koristiš neki od report engina moguće je da imaju mogućnost vertikalnog štampanja teksta, kako ti je sadržaj polja kratak (da, ne) onda ti veća širina odlazi na naziv kolone (datum). Ako uspeš da nazive kolone štampaš vertikalno uštedećeš znatno u prostoru pa ćeš moći da prođeš i sa portrait orijentacijom.

> sintaksa crosstab ili transform nisu podrzane u mojo bazi ,a ona je paradox,da li je to moguce nekako izvesti pomocu coda

Možeš da sve ručno radiš, učitaš sve podatke za taj mesec u jednu tabelu, u drugoj koju ćeš koristiti za prikaz napravi sva polja (sve datume) i onda za svakog radnika dodaješ novi rekord i popunjavaš prisutnost za sva polja (dane).
[ popmilan76 @ 06.06.2012. 19:16 ] @
joj,savkicu,to deluje bas komplikovano...kao report koristim quickreport u standarnom delphiju,da bi moglo jos manje da se ustedi na papiru,bilo bi dobro kad bi i datumi bili vertkialni,
[ savkic @ 06.06.2012. 21:33 ] @
> joj,savkicu,to deluje bas komplikovano...

Cini ti se, to je jako lako. Znaci napravis novu tabelu i za svaki datum ubacis novo polje, posle za svakog radnika citas podatke kada je radio ili ne i popunjavaš tu tabelu.

> kao report koristim quickreport u standarnom delphiju,da bi moglo jos manje da se ustedi na papiru,bilo bi dobro kad bi i datumi bili vertkialni,

To možeš izvesti i u QR, pogledaj da li ta verzija ima vertikalnu orijentaciju labela i texta a ako nema onda imaš i rešenje uz malo programiranja:
http://www.delphigroups.info/2/5/359704.html