Avatar billede sala Nybegynder
04. juni 2003 - 15:24 Der er 14 kommentarer og
1 løsning

cpr nummer

Hej, hvodran kan jeg regner det
er der en kvinde eller mand
min Cpr felt er tekst felt
Avatar billede webben Nybegynder
04. juni 2003 - 15:25 #1
Man tjekker vel om det sidste er et lige tal....? for hvis det er det, så er det en kvinde :D
Avatar billede brianalbertsen Nybegynder
04. juni 2003 - 15:27 #2
kig på de sidste numre. Lige er kvinder ulige er mænd
Avatar billede brianalbertsen Nybegynder
04. juni 2003 - 15:27 #3
nåhh havde ikke set webben's kommentar.
Avatar billede henrik13 Nybegynder
04. juni 2003 - 15:44 #4
Koden er:
  On Error GoTo Fejlbehandling
   
    Dim intTal As Integer
   
    intTal = 2 / 0
  Msgbox "Dette er en kvinde"
    Exit Sub
   
Fejlbehandling:
Msgbox "Dette er en Mand"
Avatar billede henrik13 Nybegynder
04. juni 2003 - 15:46 #5
Rettelse der mangler en:
End sub
Vh Henrik
Avatar billede henrik13 Nybegynder
04. juni 2003 - 16:09 #6
Det skal helst stå i formularen, og i hændelsen: Ved Aktuelt  :o)
Avatar billede arne_v Ekspert
04. juni 2003 - 19:17 #7
intTal = 2 / 0 ??
Avatar billede arne_v Ekspert
04. juni 2003 - 19:24 #8
Et stykke VB kode:

Function lastodd(s As String) As Boolean
    Dim v As Integer
    v = CInt(Right(s, 1))
    If Int(v / 2) * 2 = v Then
      lastodd = False
    Else
      lastodd = True
    End If
End Function
Avatar billede mugs Novice
04. juni 2003 - 23:17 #9
Eller:

If Val(Right(String:=CPRNR, length:=1)) Mod 2 = 0 Then
Me.Køn = "K"
Else:
Me.Køn = "M"
End If

Hvor CPRNR er et tekstfelt i din formular med PR. Køn er et tekstfelt hvos kønnet angives med enten "k" eller "M"

Først findes værdien af det sidste ciffer i strengen CPRNR:

Val(Right(String:=CPRNR, length:=1))

Denne rest holdes op mod en modulus beregning (divisionsrest), Hvis denne rest er = 0 så er personen en kvinde, of hvis ikke så må det være en mand (alle andre afarter er udeladt her).

Eller på anden vis: Hvis val er 0,2,4,6 eller 8 der herefter divideres med 2 må divisionsresten være = 0

Hvis val derimod er 1,3,5,7 eller 9 vil du få en divisionsrest der er 1, og så må personen jo være en mand.
Avatar billede mugs Novice
04. juni 2003 - 23:24 #10
Henrik > enig med arne_v:

intTal = 2 / 0

Hvad betyder dette?

sala > Det er vel også nødvendigt at kontrollere, om det indtastede CPRNR rent matematisk også kan eksistere.

Der findes rent faktisk en anden modulus beregning (Mod / 11) der beregner dette.

Det danske CPRNR-system er faktisk vel gennemtænkt, og det er muligt at foretage visse beregninger på CPRNR, bl.a. om dette er gyldigt.

Du kan ikke beregne, om du har tildelt et CPRNR til den rette person, men du kan beregne, om CPRNR kan eksistere. CPRNR er sammensat efter en nøje fastlagt matematisk formel, og taster du bare eet enkelt ciffer galt, vil du få en advarsel. Det er ligeledes muligt at foretage en beregning af, i hvilket århundrede personen er født.

Men det var jo ikke det, du spurgte om :o)
Avatar billede arne_v Ekspert
04. juni 2003 - 23:33 #11
Til gengæld var jeg jo så ikke opmærksom på modulus operatoren.
Avatar billede mugs Novice
04. juni 2003 - 23:48 #12
Arne_v > Læg din e-mail så sewnder jeg et eksempel. Skal den zippes?
Avatar billede arne_v Ekspert
05. juni 2003 - 02:05 #13
Øh ?

Det er altså ikke mig der har stillet spørgsmålet !

Hvis jeg skulle have checket et CPR nummer kunne kunne jeg nok selv
få det lavet - også selvom VB ikke er et af mine primære sprog.
Avatar billede mugs Novice
05. juni 2003 - 02:09 #14
arne_v > Nej jeg ved godt det ikke er dit spørgsmål - Men en gang imellem synes jeg selv det er rart at se, hvordan andre har løst et spørgsmål.

Og det kunne jo være, at du ikke var klar over modulus 11 beregningen, som db giver et eksempel på :o)
Avatar billede arne_v Ekspert
05. juni 2003 - 02:16 #15
Jeg har et stykke Java kode der kan lave modulus 11 check, finde
århundredet etc..

Men tak for tilbuddet.
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