Avatar billede mundt Nybegynder
30. november 2004 - 09:05 Der er 5 kommentarer og
1 løsning

Check af CPRnummer

Hvis man vil checke gyldigheden af cpr nummer burde det da ikke være tilstrækkeligt at gøre følgede fra f.eks. immidiate vinduet?

?((CPRnummer Mod 11) = 0)

Den returnerer en false, hvilket jo burde være en true hvis min påstand skulle være sand???
Avatar billede fennec Nybegynder
30. november 2004 - 09:12 #1
Der skal mere til at tjekke et cprnr. Du kan finde en tjek funktion her:
http://www.fuglevig.dk/Software/VB/cpr.htm
Avatar billede jpvj Nybegynder
30. november 2004 - 09:32 #2
Se en udførlig beskrivelse her:
http://www.cpr.dk/Index/dokumenter.asp?o=11&n=0&h=11&t=1&d=396&s=4

VB løsningen er ret kluntet programmeret - det kan gøres kortere og pænere...
Avatar billede jpvj Nybegynder
30. november 2004 - 09:35 #3
Function check_cpr(ByVal Cprnr) As Boolean

Dim Tal, I, Sum As Integer

If (Len(Cprnr) < 10) Or (Not IsNumeric(CPR)) Then
    check_cpr = False
Else
    Tal = "4327654321"
    For I = 1 To 10
          Sum = Sum + Val(Mid(Cprnr, I, 1)) * Val(Mid(Tal, I, 1))
    Next
    check_cpr = (Sum Mod 11 = 0)
   
End If
End Function
Avatar billede falster Ekspert
30. november 2004 - 10:28 #4
Jeg er bestemt ikke VB-ekspert, men skal der ikke tages højde, for de cpr.nr., der starter med "0". Måske med en ændring i denne stil?

Function check_cpr(ByVal Cprnr) As Boolean

Dim Tal, I, Sum As Integer

If (Len(Cprnr) < 10) Then
Cprnr = "0" + CStr(Cprnr)
End If

If (Not IsNumeric(CPR)) Then
    check_cpr = FalseElse
    Tal = "4327654321"
    For I = 1 To 10
          Sum = Sum + Val(Mid(Cprnr, I, 1)) * Val(Mid(Tal, I, 1))
    Next
    check_cpr = (Sum Mod 11 = 0)
   
End If
End Function
Avatar billede -anders- Juniormester
30. november 2004 - 11:54 #5
På denne fremragende hjemmeside http://www.nyholm.dk/makeiteasy/Home.asp?ContentID=32 er det en funktion som kan downloades, du evt. prøve den
Avatar billede mundt Nybegynder
01. december 2004 - 08:37 #6
Tak for hjælpen!!
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