Centar za edukaciju-BiH


Stranice (2):1,2

#1 25.02.2011 14:36
roko Van mreze
Clan
Registrovan od:02.02.2009
Postovi:236


Predmet:nočni sati
Imama 4 polja Short Time tipa
1.od _1 Short Tim
2.do_2 Short Tim
3.od_3 Short Tim
4.do_4 Short Tim
moram kalkulirat nočne sate između 1. i 2. ili između 3. i 4. (23 do 6)
može i integer
ima li neko kakvu funkciju
↑  ↓

#2 25.02.2011 14:44
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: nočni sati
Napravis petlju.

For i= odstati do sati
if>1 an <2 then
nocni_sati=NocniSati+1
else
osztalistai=ostalisati+1
endif
nex i
Ako uspijkes postavi proceduru a ako ne uspijes javi se pa cemo zajedno rijesiti.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 25.02.2011 15:18
roko Van mreze
Clan
Registrovan od:02.02.2009
Postovi:236


Predmet:Re: nočni sati
zapravo sam mislio kroz query IIF neko riješenje jer access 2010 ima u tabelama Calculated Data Type
pa vrijednost nekog polja odradi tabela . neznam možda i if fukcija radi u tabeli
provav ču pa javim
↑  ↓

#4 25.02.2011 16:52
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: nočni sati
Pa i ovo mozes kroz Query. Napravis proceduru u kojoj su ulazni parametri od_sati i do_sati.
Proceduru pozivas kroz Query.
Nisam ni razmisljao dali moze sa iff ali mislim da nece biti neko dobro rjesenje.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 26.02.2011 13:34
roko Van mreze
Clan
Registrovan od:02.02.2009
Postovi:236


Predmet:Re: nočni sati
Može sa iif al razbio glavu
↑  ↓

#6 26.02.2011 14:02
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: nočni sati
Daj upisi par redova ovih kolona sa zapisom da vidimo kako to izgleda.
Vjerovatno su kolone pocetka i kraj rada?
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#7 26.02.2011 15:25
roko Van mreze
Clan
Registrovan od:02.02.2009
Postovi:236


Predmet:Re: nočni sati
dakle baza access 2010
1.Pocetak_r_2 Short Time
2.Zavrsetak_r_3 Short Time
1.Pocetak_r_2a Short Time
2.Zavrsetak_r_3a Short Time
Izračun Sati rada ukupno i sati rada noču ukupno integer,
Ukupno_5 Calculated fild i radnoču5a Calculated fild

PreuzmiIzvorni kôd (Text):
  1. IIf([Pocetak_r_2]>[Zavrsetak_r_3];IIf(CDbl(Left([Zavrsetak_r_3];2))>=5;5;0)
  2. +IIf(CDbl(Left([Zavrsetak_r_3];2))=4;4;0)
  3. +IIf(CDbl(Left([Zavrsetak_r_3];2))=3;3;0)
  4. +IIf(CDbl(Left([Zavrsetak_r_3];2))=2;2;0)
  5. +IIf(CDbl(Left([Zavrsetak_r_3];2))=1;1;0);0)
  6. +IIf(CDbl(Left([Pocetak_r_2];2))=22;2;0)
  7. +IIf(CDbl(Left([Pocetak_r_2];2))=23;1;0)
  8. +IIf(CDbl(Left([Pocetak_r_2];2))=0
  9. And
  10. IIf((24-CDbl(Left([Pocetak_r_2];2)))-(24-CDbl(Left([Zavrsetak_r_3];2)))<0;
  11. (24-CDbl(Left([Pocetak_r_2];2)))-(24-CDbl(Left([Zavrsetak_r_3];2)))+24;
  12. (24-CDbl(Left([Pocetak_r_2];2)))-(24-CDbl(Left([Zavrsetak_r_3];2))))>=5;5;0)
  13. +IIf(CDbl(Left([Pocetak_r_2];2))=1;4;0)+IIf(CDbl(Left([Pocetak_r_2];2))=2;3;0)
  14. +IIf(CDbl(Left([Pocetak_r_2];2))=3;2;0)+IIf(CDbl(Left([Pocetak_r_2];2))=4;1;0)
  15. +IIf([Pocetak_r_2]>[Zavrsetak_r_3];IIf(CDbl(Left([Pocetak_r_2];2))<21
  16. And CDbl(Left([Pocetak_r_2];2))>0;2;0);0)
  17. +IIf([Pocetak_r_2a]>[Zavrsetak_r_3a];
  18. IIf(CDbl(Left([Zavrsetak_r_3a];2))>=5;5;0)
  19. +IIf(CDbl(Left([Zavrsetak_r_3a];2))=4;4;0)
  20. +IIf(CDbl(Left([Zavrsetak_r_3a];2))=3;3;0)
  21. +IIf(CDbl(Left([Zavrsetak_r_3a];2))=2;2;0)
  22. +IIf(CDbl(Left([Zavrsetak_r_3a];2))=1;1;0);0)
  23. +IIf(CDbl(Left([Pocetak_r_2a];2))=22;2;0)
  24. +IIf(CDbl(Left([Pocetak_r_2a];2))=23;1;0)
  25. +IIf(CDbl(Left([Pocetak_r_2a];2))=0
  26. And
  27. IIf((24-CDbl(Left([Pocetak_r_2a];2)))-(24-CDbl(Left([Zavrsetak_r_3a];2)))<0;
  28. (24-CDbl(Left([Pocetak_r_2a];2)))-(24-CDbl(Left([Zavrsetak_r_3a];2)))+24;
  29. (24-CDbl(Left([Pocetak_r_2a];2)))-(24-CDbl(Left([Zavrsetak_r_3a];2))))>=5;5;0)
  30. +IIf(CDbl(Left([Pocetak_r_2a];2))=1;4;0)+IIf(CDbl(Left([Pocetak_r_2a];2))=2;3;0)
  31. +IIf(CDbl(Left([Pocetak_r_2a];2))=3;2;0)+IIf(CDbl(Left([Pocetak_r_2a];2))=4;1;0)
  32. +IIf([Pocetak_r_2a]>[Zavrsetak_r_3a];IIf(CDbl(Left([Pocetak_r_2a];2))<21
  33. And CDbl(Left([Pocetak_r_2a];2))>0;2;0);0)
pa ko se snađe
crazy:
Ovaj post je ureden 1 puta. Posljednja izmjena 26.02.2011 15:29 od strane roko. ↑  ↓

#8 26.02.2011 17:17
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: nočni sati
Au necu ni pokusavati da razumijem.
Reci mi samo jel pocetak rada i krada moze biti manji od cijelog sata hocu reci jel moze biti upisano 22:30 ili 11:25 itd..
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#9 26.02.2011 19:36
roko Van mreze
Clan
Registrovan od:02.02.2009
Postovi:236


Predmet:Re: nočni sati
Forma za unos daje samo puni sat 1.30 -1 1.31 2 jedino je problem ,da ima dolazak u ponoč i odlazak u ponoč al takvog uvjeta nema (možd i to rijeÅ¡im jednim poljem) .PokuÅ¡o sam sve kalkulacije koje se mogu izvuči iz ulaza i izlaza ( količina sati , rad u smjenama , rad noču , dvokratni rad , prekovremenni sati )tako da jedno polje može imati i podataka za dva dana recimo (ulaz 19.00 izlaz 07.00 i ulaz 18.00 i izlaz 05.00.) odradi taj "Calculated fild" jer iz jednog reda mogu dobiti informacije koje sam dobijo iz dva reda pa kad imam takvu informaciju za 500 jedinica 18 puta mjesečno puta gdinu dana je 90000 redova manje u jednoj godini. jer zbog pregleda naručitelja kad sam sve te horizontalne kolone trebao poredati u vertikalni pregled (10452 točno za 1 mjesec ) ime prezime pa od 01-31.01 Crosstab 25 sekundi , create TMPtable(iz crostab table) 35 sekundi i sad naručitelj oče on dbl click da ukloni neki unos ili doda + requeri može zapalit cigaru dok se to izvrti . sad sam na pristojnih 7 sekundi .
↑  ↓

#10 27.02.2011 12:42
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: nočni sati
Ako bi htio racunati vise od 24 h da traje radno vrijeme onda bi morao uzeti u obzir datum.
PreuzmiIzvorni kôd (Visual Basic):
  1. Function Sati(V1 As Date, V2 As Date) As Date
  2. Dim Vr As Single
  3.  
  4. If V1 > V2 Then
  5. V2 = V2 + 1
  6. End If
  7. Do While V1 <= V2
  8. If V1 >= "23:00" Or V1 <= "6:00" Then
  9. Vr = Vr + 0.001
  10. End If
  11. V1 = V1 + 0.001
  12. Loop
  13. Sati = Vr
  14. End Function
U Queryu U polje Fields upises:
S: sati([Imepoljavrijemeod];[Imepoljavrijemedo])
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
Ovaj post je ureden 1 puta. Posljednja izmjena 27.02.2011 17:39 od strane Kiro. ↑  ↓

Stranice (2):1,2


Sva vremena su GMT +01:00. Trenutno vrijeme: 5: 00 pm.