Thread View: pl.comp.bazy-danych.msaccess
8 messages
8 total messages
Started by Krzyś59
Fri, 20 Mar 2015 12:28
Access97, kwerenda i formatowanie czasu
Author: Krzyś59
Date: Fri, 20 Mar 2015 12:28
Date: Fri, 20 Mar 2015 12:28
10 lines
1895 bytes
1895 bytes
Witam Mam starutką bazę w Access97, potrzebuję dodać kwerendę zliczającą czas. SELECT Sum([Czas_zn]) AS Wyr1 FROM Zabiegi; To działa, ale nie potrafię sformatować tak wyniku, żeby wyświetlał mi czas w formacie 12345:35 czyli 12345 godzin i 35 minut Dostaję w wyniku liczbę, wiem, że to czas ale nie umiem go zmusić do takiego sformatowania. Próbowałem różnych wersji gg:mm daje do 24 godzin, [g]:mm daje mi tylko jedną godzinę i minuty, wpisywanie większej ilości g też niewiele zmienia. Próbowałem to też przez wpisanie wyrażenia Format, ale tu już całkiem poległem. Może mi ktoś podpowiedzieć rozwiązanie problemu? Pozdrawiam Krzysiek
Re: Access97, kwerenda i formatowanie czasu
Author: MaciejF
Date: Sat, 21 Mar 2015 14:58
Date: Sat, 21 Mar 2015 14:58
11 lines
1634 bytes
1634 bytes
Można tak formatować. Musimy jednak ustalić czy liczba którą uzyskujesz jest zgodna z tym jak Access rozumie liczby w formacie Data/Czas. Otóż Access uznaje że liczba 1 oznacza 1 dobę czyli 24 godziny. Powinieneś zatem spróbować (pisane na szybko) poniższej formułki: Fix([godz]*24) & ":" & Format(([godz]*24)-Fix([godz]*24);"00") spróbuj i oceń. MF
Re: Access97, kwerenda i formatowanie czasu
Author: MaciejF
Date: Sat, 21 Mar 2015 15:04
Date: Sat, 21 Mar 2015 15:04
8 lines
1471 bytes
1471 bytes
Poprawka Prawidłowe potraktowanie godzin: Fix([godz]*24) & ":" & Format((([godz]*24)-Fix([godz]*24))*60;"00") MF
Re: Access97, kwerenda i formatowanie czasu
Author: MaciejF
Date: Sat, 21 Mar 2015 15:29
Date: Sat, 21 Mar 2015 15:29
27 lines
1963 bytes
1963 bytes
W dniu sobota, 21 marca 2015 16:04:14 UTC+1 użytkownik MaciejF napisał: > Poprawka > > Prawidłowe potraktowanie godzin: > > Fix([godz]*24) & ":" & Format((([godz]*24)-Fix([godz]*24))*60;"00") > > > MF kiedyś był post na ten temat i była napisana podobna funkcji http://pl.comp.bazy-danych.msaccess.narkive.com/oSxFXAOp/obliczanie-ilosci-godzin cyt: "Oto sprawdzona (czy aby do końca?) postać funkcji: Function hhhnn(d as date) as string hhhnn = Fix(CDec(d*24)) & Format(d, ":nn:ss") End Function gdzie d to dowolna różnica dwóch datoczasów." / Może pomoże MF
Re: Access97, kwerenda i formatowanie czasu
Author: Krzyś59
Date: Wed, 25 Mar 2015 09:35
Date: Wed, 25 Mar 2015 09:35
9 lines
2687 bytes
2687 bytes
OK, dzięki, ale to piszesz to funkcje formatujące zmienną w VBA. Mnie nie o to chodzi. Problem w tym, że nie mogę zmusić Accessa97 żeby w kwerendzie formatował wynik wyszukiwania w podglądzie Arkusz danych. Zgodnie z helpem format który mnie interesuje powinien wyglądać tak [g]:mm Tak zapisany format komórki w excellu daje mi prawidłowy wynik, ale access po takim wpisie przerabia mi to na /[g/]:nn i w efekcie otrzymuję coś takiego /8/:25 a powinno wyjść 38:25 Z przetworzeniem otrzymanego czasu za pomocą VBA nie mam problemu, to nie w tym trudność. Mówiąc o funkcji Format mam na myśli Format zapisany w projekcie kwerendy, np: Wyr1:Format([Data_zab];"mmmm rrrr") taki zapis daje mi w oknie Arkusz danych wynik w postaci Luty 2015 (oczywiście to przykłady) Chciałem analogicznie to samo zrobić dla czasu, żeby otrzymać sformatowany wynik, ale wpis robiony podobnie do formatowania daty, nie działa. np. Wyr2:Format([Czas_zn];"gg:mm") wywala błędy, niezależnie jak wpiszę format czasu. Moje pytanie dotyczyło jak ten problem rozwiązać. przepraszam, ze było trochę nieprecyzyjnie napisane i stąd lekkie zamieszanie.
Re: Access97, kwerenda i formatowanie czasu
Author: MaciejF
Date: Wed, 25 Mar 2015 13:30
Date: Wed, 25 Mar 2015 13:30
14 lines
1718 bytes
1718 bytes
Excel jest inną aplikacją niż Access chociaż to ten ten sam pakiet aplikacji, używanych jednak do innych celów. 1. Dodaj w module Accessa funkcję hhhnn. 2. Użyj jej w kwerendzie SELECT hhhnn(Sum([Czas_zn])) AS Wyr1 FROM Zabiegi; Funkcja napisana dla ciebie: Function hhhnn(d as date) as string hhhnn = Fix(CDec(d*24)) & Format(d, ":nn") End Function MF
Re: Access97, kwerenda i formatowanie czasu
Author: MaciejF
Date: Wed, 25 Mar 2015 17:17
Date: Wed, 25 Mar 2015 17:17
3 lines
1411 bytes
1411 bytes
Po dodaniu funkcji do modułu będzie można też użyć jej zamiast Funkcji Format hhhnn([Czas_zn]) w widoku arkusz danych
Re: Access97, kwerenda i formatowanie czasu
Author: MaciejF
Date: Wed, 25 Mar 2015 17:26
Date: Wed, 25 Mar 2015 17:26
1 lines
1322 bytes
1322 bytes
Poza tym w funkcji Format powinno zadziałać [h]:nn
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads