Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Access2003] Sumowanie czasu w kwerendzie

118 views
Skip to first unread message

==PiNo==

unread,
Feb 16, 2009, 12:39:46 PM2/16/09
to
Witam,
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


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==


Nguyen Bang Giang

unread,
Feb 16, 2009, 3:38:41 PM2/16/09
to
Dnia Mon, 16 Feb 2009 18:39:46 +0100, ==PiNo== napisał(a):

> 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

Krzysztof Naworyta

unread,
Feb 16, 2009, 7:17:09 PM2/16/09
to
Juzer ==PiNo== <Pi...@pinopino.pl> napisał

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)

==PiNo==

unread,
Feb 17, 2009, 8:05:52 AM2/17/09
to

Użytkownik "Krzysztof Naworyta" <k.naw...@datacomp.com.pl> napisał w
wiadomości news:gncvle$mqk$1...@news.onet.pl...

Dzięki za obydwa rozwiązania :)
Pozdr.
--
==PiNo==


Przemysław Rachwał

unread,
Feb 18, 2009, 12:23:00 PM2/18/09
to
funkcje to delikatnie mówiąc głupi pomysł - bo dokładnie to samo można
zrobić z poziomu kwerendy

>> Select
>> OkresSpr
>> , (Sum(CzasPrazy2)) * 24 as godz


>> From
>> ...
>> Group by
>> OkresSpr

to najprostsze rozwiązanie twojego problemu

Krzysztof Naworyta

unread,
Feb 18, 2009, 4:04:26 PM2/18/09
to
Juzer Przemysław Rachwał <prac...@gazeta.pl> napisał


(...)


| 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 ?

Przemysław Rachwał

unread,
Feb 18, 2009, 6:13:55 PM2/18/09
to
Krzysztof Naworyta wrote:
> Juzer Przemysław Rachwał <prac...@gazeta.pl> napisał
>
>
> (...)
> | 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ć ...


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ę

Krzysztof Naworyta

unread,
Feb 19, 2009, 2:28:40 AM2/19/09
to
Przemysław Rachwał wrote:

(...)


| 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

Przemysław Rachwał

unread,
Feb 19, 2009, 2:40:34 AM2/19/09
to

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

==PiNo==

unread,
Feb 19, 2009, 2:41:41 PM2/19/09
to
Użytkownik "Krzysztof Naworyta" <k.naw...@datacomp.com.pl> napisał w
wiadomości news:gnj1ne$pof$1...@news.onet.pl...

Jeszcze raz DZIĘKI KN za wyjaśnienia.
--
Pozdr.
==PiNo==


Krzysztof Naworyta

unread,
Feb 19, 2009, 3:13:04 PM2/19/09
to
Juzer Przemysław Rachwał <prac...@gazeta.pl> napisał

(...)


| 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 ...

Przemysław Rachwał

unread,
Feb 19, 2009, 3:47:38 PM2/19/09
to
Krzysztof Naworyta wrote:
> Juzer Przemysław Rachwał <prac...@gazeta.pl> napisał
>
> (...)
> | 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


0 new messages