Avatar billede bravo123 Nybegynder
23. marts 2009 - 16:32 Der er 7 kommentarer og
1 løsning

Cpr check i Access

Hej Jeg har denne funktion som jeg gerne vil have til at virke når jeg forlader cprnr. feltet:

Public Function cpr(PersonNr)
Dim Xvar As Long,  SlutCiffer As Long, Resultat As Long
If Not IsNull(PersonNr) Then
  Xvar = Val(Mid(PersonNr, 1, 1)) * 4
  Xvar = Xvar + Val(Mid(PersonNr, 2, 1)) * 3
  Xvar = Xvar + Val(Mid(PersonNr, 3, 1)) * 2
  Xvar = Xvar + Val(Mid(PersonNr, 4, 1)) * 7
  Xvar = Xvar + Val(Mid(PersonNr, 5, 1)) * 6
  Xvar = Xvar + Val(Mid(PersonNr, 6, 1)) * 5
  Xvar = Xvar + Val(Mid(PersonNr, 7, 1)) * 4
  Xvar = Xvar + Val(Mid(PersonNr, 8, 1)) * 3
  Xvar = Xvar + Val(Mid(PersonNr, 9, 1)) * 2
  SlutCiffer = Val(Mid(PersonNr, 10, 1))
  Resultat = 11 - (Xvar Mod 11)
If Resultat = 11 Then
    esultat = 0
End If

If Resultat = SlutCiffer Then
  cprtest = True
Else
 cprtest = False
MsgBox "Forkert CPR"
End If
Else
cprtest = Null
End If
End Function


Jeg får hele tiden fejl når jeg prøver med en hændelse, hvad gør jeg forkert
Avatar billede mugs Novice
23. marts 2009 - 16:48 #1
Jeg har ikke nærlæst din kode, men her ligger et eksempel der fungerer:

http://www.makeiteasy.dk/Home.asp?ContentID=32

Du skal dog være opmærklsom på, at CPR checket efet modulus 11 metoden ikke længere er sikker, idet der er kommet 11-cifrede CPRNR.
Avatar billede bravo123 Nybegynder
23. marts 2009 - 16:54 #2
Hej og tak for din hurtige reaktion, men mit problem er nok at jeg ikke kalder det rigtigt, hvad skal jeg skrive i hændelsen?
Avatar billede mugs Novice
23. marts 2009 - 17:04 #3
Nu skriver du ikke hvilken fejl du får. Det kunne være interessant at vide. Heller ikke om koden ligger i et modul, hvis det er tilfældet kalder du funktionen således:

CPR.Check PersonNr

Syntaks læser du således: Modulnavn.funktionsnavn efterfulgt at den variabel der skal sendes til funktionen. Bemærk, at du har klargjort funktionen til modtagelse af variablen.

Jeg bruger en lidt anderledes version, men lægger du din e-mail, kan jeg sende den.

Hvad gør denne linie:

  esultat = 0

Er det blot en stavefejl? Det vil give en fejl, da variablen ikke er erklæret.
Avatar billede bravo123 Nybegynder
23. marts 2009 - 17:16 #4
Hej du må gerne sende mig din kode på mith@dk.ibm.com
Avatar billede mugs Novice
23. marts 2009 - 17:26 #5
Sendt.
Avatar billede mugs Novice
23. marts 2009 - 17:33 #6
Så er dit problem jo løst da du har accepteret dit eget svar. Det kunne da være interessant at vide, hvad fejlen var!!!!
Avatar billede bravo123 Nybegynder
23. marts 2009 - 17:40 #7
man skal da bare skrive det rigtige
Avatar billede mugs Novice
23. marts 2009 - 17:43 #8
Sikke noget pladder at skrive. Først afviser du mit svar uden begrundelse, derefter en intetsigende kommentar.

Jeg gidet ikke at se på dit sidste spørgsmål.
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