Avatar billede crasher Nybegynder
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
Avatar billede ellebaek Nybegynder
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..
Avatar billede cpufan Juniormester
10. januar 2005 - 15:56 #2
now -> skal rettes til now()
Avatar billede ellebaek Nybegynder
10. januar 2005 - 15:56 #3
cpufan -> det er ikke nødvendigt..
Avatar billede cpufan Juniormester
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,


years = datediff("y", now(), dato fra database)
response.write years
Avatar billede cpufan Juniormester
10. januar 2005 - 16:00 #5
hedder faktisk

years = datediff("yyyy", now(), dato fra database)
Avatar billede ellebaek Nybegynder
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...
Avatar billede cpufan Juniormester
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
Avatar billede cpufan Juniormester
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)
Avatar billede crasher Nybegynder
10. januar 2005 - 16:30 #9
hvordan er den fulde kode til udskrivningen? mit felt hedder Date. er ikke så geek til det her :/
Avatar billede arne_v Ekspert
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)
Avatar billede cpufan Juniormester
10. januar 2005 - 16:39 #11
ja, og mod, duer slet ikke, da den jo kun tager remainder :-0
Avatar billede ellebaek Nybegynder
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 ..?
Avatar billede crasher Nybegynder
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?
Avatar billede arne_v Ekspert
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.
Avatar billede cpufan Juniormester
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.
Avatar billede crasher Nybegynder
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.
Avatar billede arne_v Ekspert
13. januar 2005 - 12:54 #17
svar
Avatar billede cpufan Juniormester
13. januar 2005 - 13:55 #18
svar
Avatar billede ellebaek Nybegynder
13. januar 2005 - 15:00 #19
min kunne jo ikk rigtig beregne nogen alder..
Så synes ikke rigtig jeg har fortjent nogen points..
Avatar billede arne_v Ekspert
22. januar 2005 - 22:33 #20
crasher>

Så mangler du bare lige at acceptere svarene
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester