06. december 2001 - 13:39Der er
16 kommentarer og 4 løsninger
Udregning af dage mellem to datoer
Hej med jer Jeg er ved at oprette et kundekartotek på et kursusophold. Der har jeg en startdato og en slut dato, jeg vil spørge om man kan lave et eller andet så programmet automatisk udregner hvor mange dage der er imellem de to datoer. Det ville også være dejligt om prisen kunne ganges ind i. Lyder det indviklet, ja jeg kan se løsningen nogen steder i min lille bog om access for nybegyndere. Hilsen Lotte
Public Function Alder2(Dato1 As Date, Dato2 As Date) As Integer \'alder mellem 2 datoer If DateSerial(Year(Dato2), Day(Dato1), Month(Dato1)) > Date Then Alder2 = DateDiff(\"yyyy\", Dato1, Dato2) - 1 Else Alder2 = DateDiff(\"yyyy\", Dato1, Dato2) End If End Function
Lav en forespørgsel med dette indhold; SELECT Dato.Dato1, Dato.Dato2, [dato2]-[Dato1]+1 AS AntalDage, Dato.DagsPris, [AntalDAge]*[Dagspris] AS SamletPris FROM Dato; Hvor din tabel hedder Dato og indeholder felterne Dato1, Dato2 og Dagspris
Hej Mange tak for hjælpen, jeg ved ikke hvem der skal have point for der er ikke nogen af jer der har helt ret, eller også er det mig, der gør det forkert, for jeg blev ved med at få fejl, men opdagede at hvis jeg skrev: udtryk1 start-stop, så regnede den dagene ud og derefter udtryk1* dagspris så giver det den korrekte pris Jeg ved ikke om det er rigtigt eller om der opstår fejl senere. Men hvem der skal have point ja det kan jeg ikke regne ud, men skriv og vi finder ud af det. Det kunne jo også være at I kan fortælle mig hvad der gik galt når jeg prøvede jeres forslag. (Jeg kan jo altid blive lidt klogere Hilsen Lotte
Hej Lotte Jeg er ikke så hooked på pointene, så giv dem bare til hvem du nu synes. Men vær lidt varsom med din metode; den vil kun virke hvis der er tale om hele dage. Hvis et kursus strækker sig fra klokken ni den ene dag til kl. 12 den næste får du ikke 2 ud af det med din udregning. Datoer i Access er flydende tal. Heltalsdelen er antal dage siden en bestemt dato, så vidt jeg husker 1/1-1850 mens decimaldelen er udtryk for hvor stor en del af døgnet der er gået. 0,5 vil altså være kl. 12. Derfor vil det altså fungere fint at trække to datoer fra hinanden, så længe tidspunktet på de to datoer er ens.
Hvis du er i tvivl om hvem, som skal have hvormange point, mener jeg at Proaccess skal have flest, da han først kom med et (næsten korrket) svar. Hans beregning regnede dog 2 dage forkert, hvilket undertegnede og de 2 andre fik rettet op på. Så mit umiddelbare objektive bud er at ProAccess skal have 200 og vi andre 100 point. Eller også skal vi alle have lige mange point.
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.