21. maj 2001 - 17:38
Der er
20 kommentarer og 1 løsning
Få den til at regne ud hvor gammel du er?
hej. Skal bruge en kode der regner ud hvor gammel man er ud fra et årstal fx 10-12-1983. årstallet bliver udskrevet fra en access database..
Annonceindlæg fra SuperOffice
antalarr = datediff(\"yyyy\", rs(\"datofelt\"), now())
virker ik helt.. hvor hvis man ik har haft føs\'dag endnu siger den stadi 18 år.. den skal også regne dagene med..
Prøv med date() istedet for now()
Når du skriver \"yyyy\" så regner den da kun med årstallet... kan man ik lave noget så den også tager dagende med?
Ja men skal den ikke også kun regne ud hvor mange år man er da ?
Jo, men hvis du har føs\'dag i december skriver stadi 18 hvis du er fra 1983 og ik har haft føs\'dag endnu.. hvis du forstår?
antalarr = datediff(\"yyyy\", rs(\"datofelt\"), now()) tmp = dateadd(\"yyyy\", antalarr, rs(\"datofelt\")) if tmp > now() then antalarr = antalarr - 1 end if
I access kan du lave en forespørgsel med dette felt: Alder: IIf(DateDiff(\"d\";\"01-01\";Now())>=DateDiff(\"d\";\"01-01-\" & Year([fd]);[fd]);Year(Now())-Year([fd]);Year(Now())-Year([fd])-1) hvor fd er fødselsdagen på formatet dd-mm-yy. Denne formel regner dog 1 dag forkert for folk der er født i skudår, jeg husker ikke om det er dem før eller efter 29/2 for det er lang tid siden jeg lavede den.
øhh kam man ik lave det på en anden måde end at ændre i databasen?
Hvad med mit sidste forslag, kan det ikke bruges ?
Jeg er ikke asp-ekspert, og de to forslag du har fået er da hurtigt lavet.
int(datediff(\"d\",rs(\"datofelt\"),now()) / 365)
Hm...hvad så med de år hvor der er 366 dage ? Den holder ikke den der...
04. juni 2001 - 23:36
#15
tjaa, men der er kun hver 4 år, der er det så det går nok.. den nemeste måde at lave det på.
04. juni 2001 - 23:39
#16
Ja hver 4. år, det vil sige er man 20 regner den 5 dage forket...
04. juni 2001 - 23:59
#17
Ok, ved du hvordan man går sådan at den ikke gør det? kan man bare dividere med 366 eller hvad?
05. juni 2001 - 00:02
#18
Hvorfor bruger du ikke bare den her ? antalarr = datediff(\"yyyy\", rs(\"datofelt\"), now()) tmp = dateadd(\"yyyy\", antalarr, rs(\"datofelt\")) if tmp > now() then antalarr = antalarr - 1 end if
05. juni 2001 - 00:10
#19
og den skulle regne helt rigtigt eller hvad?
05. juni 2001 - 00:17
#20
Ja det skulle den.
05. juni 2001 - 09:52
#21
Ok, tak for det!!
Kurser inden for grundlæggende programmering