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

Problem sa izracunavanjem vremena

[es] :: Access :: Problem sa izracunavanjem vremena

[ Pregleda: 2965 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Sonique
Bugojno

Član broj: 79589
Poruke: 137
109.175.57.*



Profil

icon Problem sa izracunavanjem vremena01.08.2010. u 23:15 - pre 167 meseci
Pozdrav svima, radim neku aplikaciju u kojoj trebam oduzeti vrijeme od kada je radnik dosao na posao te ono vrijeme kada odlazi s posla.
Jedan problem mi se javlja a to je ukoliko radnik npr. dodje 02.08.2010 20:00:00 a ode 03.08.2010 00:00:00, Access vrijeme odlaska ne smatra kao 24h vec prepoznaje ga kao nulu (0). Ja sam probao s onim rjesenjem koji se nalazi na linku: http://www.elitesecurity.org/t360328, ali to mi ne pomaze mnogo jer npr. ako radnik dodje 02.08.2010 23:56:25 a ode 03.08.2010 0:27:48, ono ponudjeno rjesenje javlja da je radio UkupanBrojSati=1 (sto nije tacno jer radnik je radio otprilike pola sata) i OstatakMinuta=-29.

Takodjer zamolio bih vas za ponoc jer svaki radnik u toku mjeseca radi preko 100 sati pa kako to da saberem???

Unaprijed hvala svima.
 
Odgovor na temu

banem
Kikinda

Član broj: 16619
Poruke: 583
*.dynamic.sbb.rs.



+15 Profil

icon Re: Problem sa izracunavanjem vremena01.08.2010. u 23:41 - pre 167 meseci
Vidi da li ovo možeš da prilagodiš:


Public Function GetElapsedInterval(dtStartDate As Date, dtEndDate As Date) _
As String
'Returns a formatted string yielding elapsed time.
'Doesn't handle negative date ranges i.e. dtEndDate > dtStartDate
'Input date/times between two ##, i.e. #9/10/1963 8:30AM#.
' Function works for all date/times between January 1, 100 12:00:00AM
' to December 31, 9999 11:59:59PM
' Use existing Microsoft elapsed time functions
' GetElapsedTime and Age to extend elapsed time to
' include elapsed years and months
'Author: K. Fisher 5/20/1998 [email protected]
'Sample usage:
'?basDate.GetElapsedInterval(#1/1/100 10:22PM#,Now())
'1898 Years 4 Months 18 Days 3 Hours 15 Minutes 53 Seconds
'?basDate.GetElapsedInterval(#5/19/1998 11:22:37PM#, #5/20/1998 12:39:54PM#)
'0 Years 0 Months 0 Days 13 Hours 17 Minutes 17 Seconds

Dim dtWorkingDate As Date 'working date/time

'Determine the elapsed years portion
Dim intYears As Integer
intYears = Age(dtStartDate, dtEndDate)
'34 = 9/18/1998 9/10/1963

'Determine the elapsed month portion
dtWorkingDate = DateAdd("yyyy", intYears, dtStartDate)
'9/10/97 8:30:00 PM = 34 years plus 9/10/1963 8:30PM
Dim intMonths As Integer
intMonths = DateDiff("m", dtWorkingDate, dtEndDate)
dtWorkingDate = DateAdd("m", intMonths, dtWorkingDate)
'5/10/98 8:30:00 PM = 8 months plus 9/10/97 8:30:00 PM

'Determine the elapsed days, hours, minutes, seconds portion
Dim dblInterval As Double
dblInterval = dtEndDate - dtWorkingDate
'9.0766087962984 = 5/19/98 8:00:00 AM - 5/10/98 8:30:00 PM

'Assemble the formatted string
GetElapsedInterval = intYears & " Years " & intMonths & _
" Months " & GetElapsedTime(dblInterval)

End Function

Public Function Age(dtBirthday, dtAgeOnDate) As Integer
' Returns the Age in years between 2 dates
' Doesn't handle negative date ranges i.e. dtBirthday > dtAgeOnDate
' Input dates between two ##, i.e. #9/10/1963#.
' Source: Microsoft 1997 Neatcode.mdb
' Example: Debug.Print basDate.Age(#9/10/1963#,Now())
If Month(dtAgeOnDate) < Month(dtBirthday) Or _
(Month(dtAgeOnDate) = Month(dtBirthday) And _
Day(dtAgeOnDate) < Day(dtBirthday)) Then
Age = Year(dtAgeOnDate) - Year(dtBirthday) - 1
Else
Age = Year(dtAgeOnDate) - Year(dtBirthday)
End If
End Function


U Immediate Window upit na:

? GetElapsedInterval("02.08.2010 23:56:25", "03.08.2010 0:27:48")

Vraća:

0 Years 0 Months 0 Days 0 Hours 31 Minutes 23 Seconds
Pozdrav,
Branislav
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Problem sa izracunavanjem vremena02.08.2010. u 05:40 - pre 167 meseci
Nisam isprobao rešenje koje je banem dao, ali ako ne pomogne, vredi pogledati u Top temu Baza Znanja http://www.elitesecurity.org/t52046-2#2633068 ili na drugim temama sa rezultatom pretrage za DateDiff funkciju.

Sabiranje sati pogledaj ovde:
http://www.elitesecurity.org/t338335-0#2066488.
http://www.elitesecurity.org/t388024-0#2493451
http://www.elitesecurity.org/t297995-0#1772644
 
Odgovor na temu

Sonique
Bugojno

Član broj: 79589
Poruke: 137
*.dlp440.bih.net.ba.



Profil

icon Re: Problem sa izracunavanjem vremena02.08.2010. u 14:16 - pre 167 meseci
banem probao sam ovu vasu funkciju i javlja mi gresku da ne postoji definicija za fukciju GetElapsedTime, u prilog sam stavio screen shoot?
Prikačeni fajlovi
 
Odgovor na temu

Sonique
Bugojno

Član broj: 79589
Poruke: 137
*.dlp440.bih.net.ba.



Profil

icon Re: Problem sa izracunavanjem vremena02.08.2010. u 14:20 - pre 167 meseci
Getsbi pregledao sam sva rjesenja koja ste mi ponudili, ni jedno mi nije zadovoljilo moje potrebe, jedino ona fukncija koja se nalazi na linku http://www.elitesecurity.org/t52046-2#2633068 ne znam kako se koristi pa ako mozete napisati bio bih vam zahvalan, naravno ako imate jos rjesenja unaprijed hvala.
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Problem sa izracunavanjem vremena03.08.2010. u 05:09 - pre 167 meseci
Ja je nisam isprobavao. Ali iz priloženog se vidi da treba da joj proslediš tri parametra ili argumenta da bi dobio rezultat.

Poigraj se malo, tako što ćeš prvo da napraviš mali primer u novom .mdb fajlu. U neki VBA modul iskopiraj funkciju Diff2Dates()sa linka koji pominješ. Nad tvojom tabelom gde su ti ubeleženi dolasci i odlasci, napravi query sa izračunatim poljem i u njega upiši.....
Razlika: Diff2Dates("dhns",dolazak, odlazak)

 
Odgovor na temu

Sonique
Bugojno

Član broj: 79589
Poruke: 137
92.36.244.*



Profil

icon Re: Problem sa izracunavanjem vremena03.08.2010. u 11:52 - pre 167 meseci
Getsbi probao sam ovo sto ste mi napisali i sad je ok, napise: 31 minuta 23 sekundi, sto je ispravno.
Meni je sad potrebno da te podatke importujem u odredjenu tabelu kako bih ih mogao sabrati, jer prijava i odjava je svaki dan, a meni treba na kraju mjeseca ukupni zbir sati koliko je radio odredjeni radnik???
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Problem sa izracunavanjem vremena03.08.2010. u 12:49 - pre 167 meseci
Importovanje u tabelu ili Make-Table Query koristi samo ako je nužno da to bude tabela. Možeš još uvek taj query gde si dobio rezultat da iskoristiš kao izvor podataka za sledeći queri gde ćeš sabirati vremena. Koristi Total; Sum query design modu. Ako ne ide, propusti samo reči: sabiranje vremena u polju pretraga i koristi te linkove ka temama.
 
Odgovor na temu

Sonique
Bugojno

Član broj: 79589
Poruke: 137
92.36.244.*



Profil

icon Re: Problem sa izracunavanjem vremena03.08.2010. u 21:12 - pre 167 meseci
Getsbi u prilogu sam stavio svoju bazu pa ako mozete to da mi uradite pa da vidim?
Prikačeni fajlovi
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Problem sa izracunavanjem vremena04.08.2010. u 15:40 - pre 167 meseci
Mislim da ce ti ovo pomoci da vidis kako se vreme moze racunati i prikazivati.

Pazi, prikazivanje vremena i datuma u nekom ponztom formatu nije isto sto i racunanje. racunanje se svodi na oduzimanje dva broja. Onda s tom razlikom radis sta ti odgovara, uglavnom delis sa 24, 60, 3600 i slicno.

Posto radis aplikaciju za pracenje provedenog vremena na poslu, tebi su bitni SATI a ne dani i minuti. Dani i minuti ce te samo zbuniti nepotrebno. Sati za placanje su decimalni sati. Imas u kveriju koji sam dodao na kraju kako dobijas sate za placanje.

Medjutim, videci koliko se mucis i ne razumes primere na koje su te uputili Getsbi i Banem, mislim da ces imati grdnih nevolja sa aplikacijom, ovo je tek pocetak. Racunanje vremena nije za pocetnike i mozda je bolje da to das nekome ko dokazano ume to da radi.

U svakom slucaju, srecan rad

Prikačeni fajlovi
 
Odgovor na temu

Sonique
Bugojno

Član broj: 79589
Poruke: 137
92.36.244.*



Profil

icon Re: Problem sa izracunavanjem vremena04.08.2010. u 20:51 - pre 167 meseci
Zidar hvala puno na odgovoru, ako bude jos problema, pisem vam. :)
 
Odgovor na temu

Sonique
Bugojno

Član broj: 79589
Poruke: 137
*.ze2.dlp303.bih.net.ba.



Profil

icon Re: Problem sa izracunavanjem vremena15.08.2010. u 23:02 - pre 166 meseci
Zidar, imam jednu molbu, ako mozes da mi na ovaj svoj primjer postavis kako bih izracunao sekunde, jer sad imam sate i minute?

Unaprijed hvala
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Problem sa izracunavanjem vremena16.08.2010. u 17:23 - pre 166 meseci
Pa ako vec imas sate i minute, i znas da jedan minut ima 60 sekundi, malo matematike iz treceg razreda osnovne ce obaviti posao. Za matematicka pitanja postoji forum matematika na istom ovom sajtu.
 
Odgovor na temu

Sonique
Bugojno

Član broj: 79589
Poruke: 137
109.175.59.*



Profil

icon Re: Problem sa izracunavanjem vremena16.08.2010. u 22:26 - pre 166 meseci
Hvala na odgovoru :)
 
Odgovor na temu

[es] :: Access :: Problem sa izracunavanjem vremena

[ Pregleda: 2965 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

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