27. november 2005 - 08:07Der er
15 kommentarer og 5 løsninger
Minutter i decemaltal til klokkeslet
Jeg har en database, hvor flexsaldoen vises i timer og minutter, og hvor formatet er "fast", dvs. at minutterne vises som et decimaltal. Det går jeg fordi der ellers ikke kan vises en saldo på over 24 timer. Men hvordan får jeg saldoen vist som et klokkeslet, f.eks. skal 22,50 være 22:30. Det skal tilføjes, at der ikke skal regnes videre på saldoen, den er udelukkende til visning på rapporter.
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
God morgen, prøv at åbne rapporten i designvisning, højreklik på den tekstboks, der indeholder decimaltallet, vælg egenskaber, her kan du i egenskaben Format skrive 00:00, prøv at se om dette virker
Jeg ved ikke om det er nogen hjælp, men netop den manglende mulighed for at atbejde med mere end 24 timer, omgår jeg ved at benytte beregning med CentiMinutter. Dette forudsætter at al indtastning er som decimaltal, dvs. 7,30 for 07:30.
Man kan naturligvis konvertere 07:30 til string, og herefter til decimaltal, hvis man vil dette.
Function TidTilCenti(x As Single) As Single
Dim AntalTimer As Single Dim AntalMinutter As Single
Umiddelbart må jeg sige, at sjaps løsning i 12:14:59 er bedst i mit tilfælde. Dog skal der brugs "h" i stedet for "t" i visningen, idet det ellers går galt. Og så er der en finte i den - ved "negative tider" (personen har ikke opnået dagens normtid) sættes der ved beregningen et "1" foran den i øvrigt korrekte omregning til tidsformat. Ved positive tider sættes der er "0”. Der er således altid 2 tal foran ":", hvor det første altid er 0 eller 1, medens det andet er den korrekte timeangivelse. Når der er et "1", er det i øvrigt korrekt angivet, at den opnåede tid er negativ, idet der helt foran står et "-". Og så det endelige problem: Ved mere end 24 timer lægger den ikke de overskydende timer til, dvs. at 26,70 timer giver 2:42. Har du et bud på hvorfor?
Vedrørende JesperFjoelners forslag regnes der rigtigt i nogen situationer, medens er er fejl i andre poster. Det skal jeg have kigget på, når jeg får bedre tid.
aandersens forslag har jeg selv forsøgt på et tidligere tidspunkt, men som anført af terry, er problemet, når antallet af timer overstiger 24.
Jensen363 - dit forslag vil tage lidt tid at afprøve, så det bliver ikke lige med det første. Men hvis du vil smide et svare, har jeg tænkt mig af fordeles points således:
bbkdk >> håber du for det til at virke, men se venligst bort fra mit svar da det langt fra er det korrekte, jeg var ikke opmærksom på det terry var inde på, så min andel af point bør gå til terry, men ellers tak :o)
Mit sidste forslag skulle virke, hvis du i forvejen arbejder med tt,nn ( decimaltal ). Formlen konverterer til hele timer:minutter, og håndterer endvidere også negative timer, som jo af og til forekommer i flex-regnskaber
Tak for hjælpen til alle - jeg arbejdet videre med de forskellige løsningsforslag.
Er det i orden, hvis jeg fordeler points således: jesperfjoelner 10, jensen363 20 og sjap 30. Terry har ikke lagt et svar, og for at være ubeskeden må jeg sige, at jeg godt kendte den problematik i forvejen.
øh - er der noget galt med systemt, jeg synes ikke at jeg give points. Jeg har været inde på punktet "selv angive point fordelingen", men det virker ikke, når jeg trykker på accepter. Er der nogen der har lidt hjælp?
Tak for point anyway, forsat god arbejdslyst med projektet :o)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.