znalazłem takie rozwiązanie
http://groups.google.pl/group/microsoft.public.pl.office/browse_thread/thread/d5179b2022d2f497?hl=pl&ie=UTF-8&q=access+sumowanie+czasu
które zwraca mi wynik:
OkresSpr SumaCzas
2009-02 90:-30
Co jest nie tak w tym rozwiązaniu?
Faktycznie poprawna ilośc godzin powinna być 89:30.
A może jakis inny pomysł jak to rozwiązać?
--
Pozdr.
==PiNo==
> Szukając sposobu jak posumować taką tabelkę
> OkresSpr CzasPracy2
> 2009-02 09:00
> 2009-02 08:00
> 2009-02 10:30
> 2009-02 11:30
> 2009-02 09:00
> 2009-02 12:00
> 2009-02 07:30
> 2009-02 08:00
> 2009-02 07:00
> 2009-02 07:00
Jeśli pole CzasPracy2 jest formatowane jako Czas Średni to możesz korzystać
ze zwykłego sumowania, tzn:
Sum([CzasPracy2]).
Co innego jest twój zamiar jak tę sumę prezentować. Może być tak:
Int(24*Sum([CzasPracy2])) & ":" & (Sum([CzasPracy2])*1440 mod 60)
--
Pozdrawiam,
Giang.
http://www.banggiang.net
http://www.fotoplenery.eu
Skorzystaj z mojej funkcji, zapisanej w jakimś standardowym module:
Function hhhnn(arg As Date) as string
hhhnn = Int(CDec(arg) * 24) & Format(arg,":nn:ss")
End Function
w kwerendzie:
Select
OkresSpr
, hhhnn(Sum(CzasPrazy2))
From
...
Group by
OkresSpr
--
KN
archiwum grupy:
http://groups.google.pl/advanced_group_search
(grupa: pl*msaccess)
Dzięki za obydwa rozwiązania :)
Pozdr.
--
==PiNo==
>> Select
>> OkresSpr
>> , (Sum(CzasPrazy2)) * 24 as godz
>> From
>> ...
>> Group by
>> OkresSpr
to najprostsze rozwiązanie twojego problemu
(...)
| funkcje to delikatnie mówiąc głupi pomysł - bo dokładnie to samo można
| zrobić z poziomu kwerendy
Jak Ty mnie, Chłopie, potrafisz wpieprzyć ...
||| Select
||| OkresSpr
||| , (Sum(CzasPrazy2)) * 24 as godz
||| From
||| ...
||| Group by
||| OkresSpr
|
| to najprostsze rozwiązanie twojego problemu
A sprawdziłeś co robi funkcja hhhnn() ?
I nie zauważyłeś czym się różni zapis 75,25 od 75:15 ?
Panie Rachwał, i kto tu, delikatnie mówiąc, głupoty wciska ?
ktoś musi,
DateDiff("h",0,Sum(Table1.Field1),0,0) & Format(Sum(Table1.Field1)
jest równoważne z funkcją i szybsze, cyba że JET magicznie kompiluje
zapytania z funkcjami w VBA, ale co ja tam wiem....
>
>
> ||| Select
> ||| OkresSpr
> ||| , (Sum(CzasPrazy2)) * 24 as godz
> ||| From
> ||| ...
> ||| Group by
> ||| OkresSpr
> |
> | to najprostsze rozwiązanie twojego problemu
>
> A sprawdziłeś co robi funkcja hhhnn() ?
tak
> I nie zauważyłeś czym się różni zapis 75,25 od 75:15 ?
> Panie Rachwał, i kto tu, delikatnie mówiąc, głupoty wciska ?
>
funkcja jest dziwna, rzekł bym błędna bo:
ID Field1
1 08:00:00
2 08:00:00
3 08:30:00
4 08:30:00
5 08:00:00
w sumie 41:00
t Expr1 Expr2
41:00:00 40:00:00 147600
SELECT DateDiff("h",0,Sum(Table1.Field1),0,0) &
Format(Sum(Table1.Field1), ":nn:ss") AS t, hhhnn(Sum(Table1.Field1)) AS
Expr1, DateDiff("s",0,Sum(Table1.Field1),0,0) AS Expr2
FROM Table1;
jak wyjaśnisz że zaginęła godzina? bo ja nie potrafię
(...)
| funkcja jest dziwna, rzekł bym błędna bo:
|
| ID Field1
| 1 08:00:00
| 2 08:00:00
| 3 08:30:00
| 4 08:30:00
| 5 08:00:00
|
| w sumie 41:00
|
| t Expr1 Expr2
| 41:00:00 40:00:00 147600
|
| SELECT DateDiff("h",0,Sum(Table1.Field1),0,0) &
| Format(Sum(Table1.Field1), ":nn:ss") AS t, hhhnn(Sum(Table1.Field1))
| AS Expr1, DateDiff("s",0,Sum(Table1.Field1),0,0) AS Expr2
| FROM Table1;
|
| jak wyjaśnisz że zaginęła godzina? bo ja nie potrafię
tak, funkcja jest błędna. Wszystko przez Double.
Jej prawidłowa postać:
Function hhhnn(d as date) as string
hhhnn = Int(Cdec(d * 24)) & Format(d, ":nn:ss")
End Function
Zaś na pewno zawiedzie Twoje DateDiff(), która to zaokrągla wyniki:
? datediff("h", #08:31:00#, #10:29:00#)
2
--
KN
w tym konkretnym ćwiczeniu nie chodzi o pokazanie różnicy czasu między
dwoma godzinami a jedynie wyznaczenie ilości godzin względem podstawy
więc argument jest z czapy
Jeszcze raz DZIĘKI KN za wyjaśnienia.
--
Pozdr.
==PiNo==
(...)
| w tym konkretnym ćwiczeniu nie chodzi o pokazanie różnicy czasu między
| dwoma godzinami a jedynie wyznaczenie ilości godzin względem podstawy
| więc argument jest z czapy
Najwyraźniej każdy z nas ma inne pojęcie sensu wyrażenia "z czapy".
Dla mnie to Twoja odpowiedź jest "z czapy"
A myślałem, że potrafisz więcej ...
sens logiczny twojego przykładu jest żaden. reszta to takie bicie piany
dla bicia