[ zeljovan @ 05.04.2009. 14:30 ] @
Postovana gospodo potrebna mi je pomoc u zbiru vremena...

Elem, problem je nastao kada sam poceo da radim programcic za evidenciju naleta aviona... U tabeli i qveriu sam napravio da mi radi zbir vremena za osobu koja je letela na avionu ali problem nastaje kada se dostigne zbir vremena od 23:59 posle mi prebacuje na 00:00 i zbraja sve iz pocetka a meni je potrebno da mi vrsi zbir vremana preko 24:00... Iscitavao sam forum i nasao slican problem ali odgovor je dat u kodu.... mada mi niej jasno jer nikad nisam radio na osnovu koda....

Sta mi je raditi u accessu da zbir vremena za jednu osobu prelazi preko 24:00???
[ Getsbi @ 05.04.2009. 17:01 ] @
Morao bi da napraviš novi query koji će za izvor podataka da ima taj tvoj postojeći query.
U tom novom query-ju napravi jedno polje i redu Field napiši:
UkupnoVreme: (Sum(Hour([TvojePoljePrvogQueryja]))+(Sum(Minute([TvojePoljePrvogQueryja]))\60)) & " sati i " & (Sum(Minute([TvojePoljePrvogQueryja])) Mod 60) & " minuta"
U Total redu napiši Expression

Ili pak jednostavno u SQL View napiši:
Code:

SELECT (Sum(Hour([TvojePoljePrvogQueryja]))+(Sum(Minute([TvojePoljePrvogQueryja]))\60)) & " sati i " & (Sum(Minute([TvojePoljePrvogQueryja])) Mod 60) & " minuta" AS UkupnoVreme
FROM FR_Vrijeme;


Mada kad bolje razmislim, ako u prvom query-ju ne koristiš nigde Group By već samo sumiraš vremena onda ovo polje koje sam predložio možeš dodati i u taj prvi query.
[ zeljovan @ 05.04.2009. 18:29 ] @
Ok

Kazi mi zasto ne moze da nastavi sve dalje da zbraja vreme preko 23:59. (Da li je to izvodljivo ko accessa) znaci sve sam napravio perfektno "onoliko koliko mi treba i koliko znam"

Stavio sam u tabeli osnov sta mi treba (uradjeno vise tabela). Upit trazio preko Query-ja (Sta sam naucio iz knjige) i u istom sam mu zadao sum na vreme koje je trajalo u letu.

Kada sam uradio Query-ja i zapamtio ga isti sam ponovo zapamtio preko Save As u Forms, tako da sam automacki dobio formu uradjenu koju sam trazio, Forms mi daje VREME u nekim decimalima (stim da sam u tabeli dao times)
To sam resio tako sta sam otisao u propertis i zadao mu Input Mask = Long time i to sve extra radi do 23:59......

Sve sam vam ovo napisao da bi videli sta sam radio i da bi vam bilo jasnije, da li access moze da nastavi da zbraja preko 23:59 bez nove tabele Query-ja pa da se zbraja i deli kao sta ste mi napisali ili se ipak mora raditi gore navedeni CODE:

Zahvalan na pomoci
[ Getsbi @ 05.04.2009. 20:59 ] @
Ono što tebe muči je nerazumevanje da je vreme samo jedan deo polja tipa Date/Time koji je u svojoj suštini Long Integer sa ugrađenom matematikom. To što ti u zavisnosti od formatiranja, čas radiš sa prednjim delom tog dugačkog polja, a čas sa zadnjim, ne znači da su to razdvojene vrednosti. Sve je kao i u realnom svetu. Čim otkuca 24:00 to postaje ceo dan i iza se računa vreme od početka. Da bi izrazio sve u sate moraš da preračunaš dane u sate. Pokušaj da datumsko polje u tabeli formatiraš kao General Date, što je njegov izvorni oblik. Tad će ti biti jasnije.
[ zeljovan @ 05.04.2009. 21:49 ] @
Ok, druze hvala ti na pojasnjenju a meni je ostalo upravo da dane pretvorim u sate i minute kako bi dobio ono sta sam trazio.... mislio sam da access moze da odbroji i vise vremena od jednog dana, ali si me sada razuverio....

veliki pozz i hvala
[ Zidar @ 06.04.2009. 14:53 ] @
Ako ti treba zbir vremena izrazen kao decimalan podatak, na priemr 41.25 znaci "41 koma 25 sati" umesto "41 sat i 25 minuta", mozes to da dobijes u kveriju i bez pretvaranja u sate i minute. Pogledaj zakaceni primer. Polje koje vraca kveri je formatirano na 'Standard'. Ako ga formatiras na recimo Short Time, dobices zbunjujuci podatak.

[ atom @ 07.04.2009. 08:28 ] @
Poodavno sam zapoceo (kao pocetnik u access-u) nesto za paraglajdiste, nazalost nisam zavrsio...
Vidi da li mozes nesto da iskoristis iz mog primera.
Zainteresovan sam za konacnu verziju tvoje aplikacije, mislim da bi bilo korisno da kada zavrsis istu postavis na forum.
Mislim da ce AniGIF v2.25 posluziti, snimiti OCX u Sistem32 folder.

[Ovu poruku je menjao atom dana 08.04.2009. u 08:16 GMT+1]
[ Getsbi @ 07.04.2009. 08:55 ] @
@ atom
Fali AniGif.ocx ver. 1.5
[ zeljovan @ 09.04.2009. 21:27 ] @
Citat:
atom: Poodavno sam zapoceo (kao pocetnik u access-u) nesto za paraglajdiste, nazalost nisam zavrsio...
Zainteresovan sam za konacnu verziju tvoje aplikacije, mislim da bi bilo korisno da kada zavrsis istu postavis na forum.
Mislim da ce AniGIF v2.25 posluziti, snimiti OCX u Sistem32 folder.

[Ovu poruku je menjao atom dana 08.04.2009. u 08:16 GMT+1]


Nadam se da cu da zavrsim program, ja i kolega radimo dva programa, jedan je opsirni a drgije manji dosta, tako da mislim da ce ti vise odgovarati ovaj manji koji radim, jer ti nemas tipove razne i vezbe, zadatke i sl...

Kada uradim pusticu ga na forum.

pozz
[ izonic @ 12.04.2009. 17:30 ] @
[quite]U tabeli i qveriu sam napravio da mi radi zbir vremena za osobu koja je letela na avionu ali problem nastaje kada se dostigne zbir vremena od 23:59 posle mi prebacuje na 00:00 i zbraja sve iz pocetka a meni je potrebno da mi vrsi zbir vremana preko 24:00... Iscitavao sam forum i nasao slican problem ali odgovor je dat u kodu.... mada mi niej jasno jer nikad nisam radio na osnovu koda....

Sta mi je raditi u accessu da zbir vremena za jednu osobu prelazi preko 24:00??? [quite]

Kazes treba ti zbir vremena za osobu koja je letjela u avionu.
Nema tu nikakvog zbira.
Avion Krece: datum i vrijeme i u njemu je osoba
Avion slijece: Datum vrijeme slijetanja
_______________________________________
Tebi treba Vrijeme leta aviona pretpostavljam.
Primjer:
Tabela: Vremena
Polja:
Vrijeme1----Vrijeme plijetanja
Vrijeme2----Vrijeme slijetanja.
SQL:
SELECT Vremena.Vrijeme1, Vremena.Vrijeme2, Format([Vrijeme2]-[vrijeme1],"dd hh:nn:ss") AS VTrajanje
FROM Vremena;
[ Getsbi @ 12.04.2009. 19:07 ] @
Citat:
izonic:.....SQL:
SELECT Vremena.Vrijeme1, Vremena.Vrijeme2, Format([Vrijeme2]-[vrijeme1],"dd hh:nn:ss") AS VTrajanje
FROM Vremena;


Izonic, vreme se u avijaciji meri u satima. Nema dana. Kapetan Petrović ima 432 sata leta na borbenim avinima. Avion DC10 proveo je u vazduhu 1200 sati. Rešili smo taj problem. Pogledaj temu detaljnije.
[ izonic @ 12.04.2009. 20:05 ] @
U pravu si getsbi nisam citao temu nego sam samo vidio da ima puno postova i procitao da access ne moze iscitati vrijeme a nisam ni razmisljao o tome da se vrijeme mjeri u staima.
Ako ti post kvari temu brisi ga.
Opet nisam citao ali u stima to bi izgledalo ovako:
SELECT Vremena.Vrijeme1, Vremena.Vrijeme2, DateDiff("n",[Vrijeme1],[vrijeme2])/60 AS VTrajanje
FROM Vremena;

Ili samo sati:
SELECT Vremena.Vrijeme1, Vremena.Vrijeme2, DateDiff("h",[Vrijeme1],[vrijeme2]) AS VTrajanje
FROM Vremena;



[Ovu poruku je menjao izonic dana 12.04.2009. u 21:18 GMT+1]
[ Getsbi @ 12.04.2009. 20:36 ] @
Nećemo ništa brisati. Ova dva zadnja SQL-a su svakako doprinos temi.
[ Getsbi @ 16.09.2009. 14:35 ] @
Jedno od mogućih rešenja za postavlljeno pitanje o proračunu vremena do na minut preko 24 časa.

Da bi sa Datediff() dobio minute postavi "n" za interval. Ostalo je lagano kao u prikačenom fajlu. Samo prati logiku računanja.

Pogledaj zadnji zapis u Query1