Avatar billede stmsoe Nybegynder
02. januar 2013 - 15:05 Der 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?
Avatar billede claes57 Ekspert
02. januar 2013 - 16:13 #1
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
Avatar billede stmsoe Nybegynder
02. januar 2013 - 16:36 #2
Claes, tak for svar men jeg må vist have det udpenslet en tand mere

Hvordan skal "cpr-aar=cint(mid(cpr,5,4))
syg-start=1989
alder-ved-syg-start=syg-start - cpr-aar"

sættes ind i valideringsreglen

DateDiff («interval»; «dato1»; «dato2»; «førsteugedag»; «førsteuge»)
Avatar billede claes57 Ekspert
02. januar 2013 - 17:15 #3
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
Avatar billede stmsoe Nybegynder
03. januar 2013 - 09:13 #4
Ok - mange tak for svaret - points til dig
Avatar billede claes57 Ekspert
03. januar 2013 - 10:00 #5
bare luk (accepter dit eget svar)...
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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