02. januar 2013 - 15:05Der er
4 kommentarer og 1 løsning
Datediff i Access 2003
I en forskningsdatabase ønsker jeg at visse felter skal kunne udregnes automatisk af computeren:
Personens alder ved debut af sygdom udregnet udfra "cpr nummer" og "år for debut af sygdom" - er det muligt idet cpr har inputmasken for cpr men år for debut af sygdom blot er et tal (fx 1989)?
På samme vis vil jeg gerne have et felt der selv udregner forskellen mellm år for debut af sygdom (fx 1989) og år for ændring af sydom (fx 2000)
Skal jeg lave inputmasken til datoformat for alle disse felter for at kunne lave Datediff?
Valideringsreglen ved Datediff hedder: CDate («dato») «Udtryk» DateDiff («interval»; «dato1»; «dato2»; «førsteugedag»; «førsteuge») - hvad skal jeg "sætte ind" for at få reglen til at virke?
når det 'bare' er årstal, så er det heltal, der trækkes fra hinanden. cpr-aar=cint(mid(cpr,5,4)) syg-start=1989 alder-ved-syg-start=syg-start - cpr-aar
du skal slet ikke bruge datediff - det er jo kun to heltal, du trækker fra hinanden. Men kom lige til at tænke på, at cpr kun har 2 cifre i årstal - så vi tager ud fra aktuelt år. Er aktuelt år (sidste 2) større end cpr-år, så sætter vi 20 foran - ellers 19.
cpr_aar = cInt(Mid(cprnummer,5,2) 'det er fx 78 if (datepart("yyyy",Now() - 2000) > cpr_aar then cpr_aar = cpr_aar + 2000 else cpr_aar = cpr_aar + 1900 end if ' nu har vi så fx 1978 fra cprnummer syg_start = 1989 sygdom_start = syg_start - cpr_aar 'ergo 1989 - 1988
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.