10. januar 2005 - 15:22
Der er
19 kommentarer og 1 løsning
Beregning af alder udfra Date-felt (mdb)
Hej, jeg søger en simpel kode som kan udskrive alderen på en person via. et date-felt i access. mvh crasher
Annonceindlæg fra Bluecircle
10. januar 2005 - 15:31
#1
days = datediff("d", now, dato fra database) response.write (days mod 365) Sådan her vil jeg måske mene..
10. januar 2005 - 15:56
#2
now -> skal rettes til now()
10. januar 2005 - 15:56
#3
cpufan -> det er ikke nødvendigt..
10. januar 2005 - 15:59
#4
og mon ikke at "d" skal skiftes ud med "y", for at tage højde for den lille usikkerhed med skudår hvor der er 366 dage, så years = datediff("y", now(), dato fra database) response.write years
10. januar 2005 - 16:00
#5
hedder faktisk years = datediff("yyyy", now(), dato fra database)
10. januar 2005 - 16:01
#6
cpufan -> det vil ikke virke.. hvis du skriver: datediff("y", "31-12-04", "1-1-05") vil resultatet være 1.. men det skal så også være yyyy hvis det er.. og det er jo ikke rigtig tilfældet...
10. januar 2005 - 16:16
#7
ellebaek -> klogeåge, men du har sgu ret - :-( nå men jeg gi'r mig ikke, vi skal ha' styr på skudåret: days = datediff("d", dato fra database, now()) 'vendt om ellers bliver det negativt days = (days*4)-1 ' 2000 ikke et skudår year = (365*4)+1 ' skudår med years = (days mod year) så er der kun fejl på dem der er født efter 2000
10. januar 2005 - 16:18
#8
hov 2000, var jo netop et skudaar fordi det er deleigt med 400, så: days = datediff("d", dato fra database, now()) 'vendt om ellers bliver det negativt days = (days*4) year = (365*4)+1 ' skudår med years = (days mod year)
10. januar 2005 - 16:30
#9
hvordan er den fulde kode til udskrivningen? mit felt hedder Date. er ikke så geek til det her :/
10. januar 2005 - 16:35
#10
Prøv: agey = DateDiff("yyyy", d, Now()) If DatePart("y", d) > DatePart("y", Now()) Then agey = agey - 1 End If (d er en variabel som indeholder fødsels tidspunkt)
10. januar 2005 - 16:39
#11
ja, og mod, duer slet ikke, da den jo kun tager remainder :-0
11. januar 2005 - 09:05
#12
cpufan ;-) Nej det gik også lige op for mig i går da jeg sad og overvejede det.. Mon ikke arne har fat i noget af det rigtige ..?
12. januar 2005 - 15:48
#13
arne_v > jeg får bare et tal, 105, ved din kode? mit felt indeholder datoen 13-02-1986.. er dette fejlen?
12. januar 2005 - 22:56
#14
Det forstår jeg ikke. Denne ASP side: <% d = "13-02-1986" agey = DateDiff("yyyy", d, Now()) If DatePart("y", d) > DatePart("y", Now()) Then agey = agey - 1 End If Response.Write CStr(agey) %> giver 18 hos mig.
13. januar 2005 - 09:57
#15
<%session.lcid = 1030%> i toppen af siden skulle ændre fra us til dansk datoformat, mon ikke det er det der mangler.
13. januar 2005 - 12:52
#16
arne_v > det virker perfekt nu, tak. vil i lige lave et svar eller lign. så jeg kan give point.
13. januar 2005 - 12:54
#17
svar
13. januar 2005 - 13:55
#18
svar
13. januar 2005 - 15:00
#19
min kunne jo ikk rigtig beregne nogen alder.. Så synes ikke rigtig jeg har fortjent nogen points..
22. januar 2005 - 22:33
#20
crasher> Så mangler du bare lige at acceptere svarene
Kurser inden for grundlæggende programmering