Andrzej Bis

Andrzej Bis Własna działalność -
właściciel firmy,
a-moll A.Bis

Temat: Zamiana Datetime na Time

Tabela zawiera pole obliczeniowe z wyrażeniem:
IIf([CzyNadgodzNocRobocze]=1;IIf([DataCzasStop]<[NocStop];[DataCzasStop];[NocStop]);Null)
DataCzasStop, NocStop to pola typu Data/Godzina, zatem dostaję wynik tego samego typu. Nie wiem, jak w polu obliczeniowym zamienić go na typ Godzina krótka.
Nie chodzi mi wyłącznie o sposób wyświetlania w tabeli, bo tu wystarczyłoby ustawić stosowny format we właściwościach pola. Tylko wówczas dane w takim polu nie dadzą się użyć do innych obliczeń (wynikiem będzie też Data/Godzina)
Z góry dzięki za wskazówki

Pozdrawiam
Mr.EncoreTen post został edytowany przez Autora dnia 20.06.18 o godzinie 03:42
Andrzej Bis

Andrzej Bis Własna działalność -
właściciel firmy,
a-moll A.Bis

Temat: Zamiana Datetime na Time

Krzysztof B.:
https://stackoverflow.com/questions/28475288/how-to-cal...
Pozdrawiam

Dzięki za podowiedź, pewnie się przyda. Chodzi jednak o to, że problem dotyczy wyrażenia w polu obliczeniowym tabeli, więc VBA na nic się tu nie zda.

Temat: Zamiana Datetime na Time

Nigdy nie byłem zwolennikiem pól obliczeniowych w tabeli - kwestia kompatybilności wersji Accessa.
Format Data/Godzina to jest nadal format. Access wartości liczbowe (Liczba, Data/Godzina) "trzyma" jako liczbę. Tak samo jak w Excelu data jest naliczana od 1900 roku i są to narastająco numery dni.
Kwestią jest co chcesz później z tym zrobić? możesz wyciągnąć z tego minuty, godziny, dni odpowiednio dzieląc i mnożąc np (*60, *3600, /60, /3600 itd).

W polach obliczeniowych tabeli nie występują (niestety) wszystkie funkcje dostępne np w projekcie kwerendy(mam tu na myśli DateDiff()). ale np występuje funkcja Abs(), która zwróci wartość bezwzględną, np:
Abs(1)=1
Abs(-1)=1
więc jeżeli odejmujesz starą datę od nowej daty to otrzymasz wartość minusową i żeby poprawnie naliczyć kwotę za nadgodziny trzeba wartość tą "splusować".
Krok po kroku do celu.

Następna dyskusja:

Run-time error 3011




Wyślij zaproszenie do