Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Van RijksRegisterNummer naar geboortedatum  (gelezen 3991 keer)

0 leden en 2 gasten bekijken dit topic.

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: Van RijksRegisterNummer naar geboortedatum
« Reactie #30 Gepost op: 31 oktober 2023, 11:15:32 »
(vooral) @ Sille,

Haije's udf-inleiding lichtjes uitbreidend: ik heb ze nooit geteld maar Excel bevat ondertussen honderden functies (som, als, datum, enz), maar uiteraard los je daar niet alles mee op. Voor specifieke eisen kan je dan je eigen functie schrijven, maar daar is dus een beetje vba-kennis voor vereist. Hoewel, dat is niet helemaal waar, want hoewel door de meesten wordt verondersteld dat dit zonder meer nodig is, kan het ook via 'gedefinieerde namen'. Enkel als je in meerdere stappen naar een resultaat moet toewerken is vba de oplossing. Zo een zelfgeschreven functie kan je aanroepen via een 'formule' op je werkblad, maar eveneens via andere vba-code.
In mijn eerdere voorbeeld was het een udf'je omdat het maar een kleintje was :)

(vooral) @ SoftAid,

Citaat
Ik associeerde accolades altijd met een matrixformule
En daar heb je volkomen gelijk in !
Terug naar mijn voorbeeld: ik heb die accolades er niet zelf gezet, ze zijn er ook niet gekomen door de formule als matrixformule in te voeren, én ze staan er ook niet in mijn bestand. Aangezien ze er bij jou wel staan (niemand twijfelt daaraan) gok ik nog maar eens: hoewel je inmiddels ook Office 2021 hebt, kan het zijn dat je dit in Office 2007 hebt geopend? Ik moest namelijk om een overloop-error te vermijden gebruik maken van een LongLong, en Excel 2007 kende dat waarschijnlijk niet. Waarom dat in accolades zou moeten resulteren zal wel weer zo'n MS-mysterie zijn...

Groetjes,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Online SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.179
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Van RijksRegisterNummer naar geboortedatum
« Reactie #31 Gepost op: 31 oktober 2023, 11:27:19 »
Hallo Molly,

dat is dan weer opgelost!
De accolades zuig ik natuurlijk niet uit mijn duim, die staan er wel degelijk (daar twijfel jij ook niet aan ;D)

Maar, ik ben even in verlof, met mijn vrouwtje en laptop MET OFFICE 2007.

Goed gezien dus van jou. Ik had je formule al eens bekeken, maar liet vast op verschillende functies, en die longlong had ik ook opgezocht op het web, maar dat was toch niet compatibel met mijn breintje.....

Ik ben toch blij dat ik het gevraagd heb, misschien hou ik zo wel iets van mijn  kennis op peil.

Nu hopen dat sille niet te veel problemen heeft met het gebruik van één van de aangeboden oplossingen.

Groeten, en bedankt voor de uitleg.

Haije, ook bedankt, maar in snelheid is Molly de Max (Verstappen)  ;D ;D ;D

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline Warme bakkertje

  • Volledig lid
  • **
  • Berichten: 215
  • Geslacht: Man
Re: Van RijksRegisterNummer naar geboortedatum
« Reactie #32 Gepost op: 01 november 2023, 10:56:59 »
Alles is afhankelijk of je een 32-bit office versie hebt of een 64-bit office versie.
LongLong is enkel geldig op 64-bit office versies.
Op mijn XL2016 kreeg ik ook de accolades.
Hierbij een aangepaste versie van de UDF die geschikt is om de modulus te berekenen van grote getallen zonder overflow error.
Werkt normaal gezien op alle versies.

Public Function r_d(r)
    Dim g As Double
    rr = Replace(Replace(r, ".", ""), "-", "")
    c = Val(Right(rr, 2))
    c19 = 97 - (Val(Left(rr, 9)) Mod 97)
    g = ((10 ^ 9) * 2) + Val(Left(rr, 9))
    c20 = 97 - (g - (Int(g / 97) * 97))
    If c <> c19 And c <> c20 Then
        r_d = "fout rr_nr"
    Else
        r_d = DateSerial(Left(rr, 2) + 1900 + IIf(c = c19, 0, 100), Mid(rr, 3, 2), Mid(rr, 5, 2))
    End If
End Function
Windows 10 Home   NLD 64bit

Microsoft Office Professional Plus 2016 US

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: Van RijksRegisterNummer naar geboortedatum
« Reactie #33 Gepost op: 01 november 2023, 11:49:52 »
@ Warme bakkertje,

Citaat
Alles is afhankelijk of je een 32-bit office versie hebt of een 64-bit office versie.
LongLong is enkel geldig op 64-bit office versies.

Haha, zo zit dat dus, dat wist ik hoegenaamd niet. Ook weer iets bijgeleerd, dank je wel :thumbsup:
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline sille

  • Lid
  • *
  • Berichten: 70
  • Geslacht: Vrouw
  • Oplossing.be
Re: Van RijksRegisterNummer naar geboortedatum
« Reactie #34 Gepost op: 01 november 2023, 13:59:10 »
uuuh, oj oj dank u wel maar lijkt 'chinees' voor mij  :D :D
@Molly: ik heb de alles-in-1-formule gebruikt. Dan gekopieerd want moet uiteindelijk enkel de geboortedatum overhouden.

Mijn besluit: Ik ben té-leek om tot jouw/jullie oplossing uit te komen  ;D dus eeuwig dankbaar!
Windows XP Home SP2 NLD
AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ 1790
FC51GM 
NVIDIA GeForce 7300 GS 512MB 1024 x 768
Realtek AC'97 Audio
Nr: 1 Model: WDC WD3200JD-00KLB0
 Nr: 2 Model: Generic 2.0 Reader-CF USB Device
 Nr: 3 Model: Generic 2.0 Reader-MS USB Device
 Nr: 4 Model: Generi

Offline snb

  • Lid
  • *
  • Berichten: 30
Re: Van RijksRegisterNummer naar geboortedatum
« Reactie #35 Gepost op: 01 november 2023, 16:02:03 »
Function F_snb(c00)
    F_snb = "fout"
   
    c00 = Replace(Replace(c00, ".", ""), "-", "")
    c01 = Left(c00, 9)
    n = --Right(c00, 2)
    x = 97 - c01 Mod 97
    y = 97 - (2 & c01) + (97 * Int((2 & c01) / 97))
   
    If (n = x) + (n = y) <> 0 Then F_snb = DateSerial(19 - (n = x) & Left(c00, 2), Mid(c00, 3, 2), Mid(c00, 5, 2))
End Function

Offline snb

  • Lid
  • *
  • Berichten: 30
Re: Van RijksRegisterNummer naar geboortedatum
« Reactie #36 Gepost op: 01 november 2023, 18:28:30 »
Kan dat niet simpeler ?

Function F_snb(c00)
    F_snb = "fout"
    sn = Split(Format(Replace(Replace(c00 & c00, ".", ""), "-", ""), "@@ @@ @@ @@@ @@ 2@@@@@@@@@ "))
   
    x = 97 - (Mid(sn(5), 2) Mod 97)
    y = 97 - sn(5) + (97 * Int((sn(5)) / 97))
   
    If (--sn(4) = x) + (--sn(4) = y) <> 0 Then F_snb = DateSerial(19 - (--sn(4) = x) & sn(0), sn(1), sn(2))
End Function

Online SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.179
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Van RijksRegisterNummer naar geboortedatum
« Reactie #37 Gepost op: 02 november 2023, 12:07:12 »
Kan dat niet simpeler ?
Simpeler voor wie?
Een paar lijntjes code minder dat wel. \o/ Maar "simpelder", geenzins ...  :'(

:) SoftAid :)             


Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: Van RijksRegisterNummer naar geboortedatum
« Reactie #38 Gepost op: 02 november 2023, 12:44:57 »
Ieder zijn zin, natuurlijk, maar ik was er ook niet ondersteboven van.

Blijkbaar zijn er help(st)ers die graag spontaan voor een werkende oplossing proberen zorgen (met respect voor vraagstellers, én met de bereidheid om die ook nog wat kennis bij te brengen), en andere die liever aangeboden oplossingen afspeuren om daar dan een zogezegd betere manier voor te tonen.
Voorzichtig uitgedrukt vind ik het 'nogal flauw' om dit ook telkens te doen in draadjes die door vraagstellers al naar volle tevredenheid zijn afgerond.

En dan nog, specifiek voor dít draadje: de udf uit #35 was zelfs fout, die uit #36 heb ik vooral daarom liever niet eens bekeken.
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline snb

  • Lid
  • *
  • Berichten: 30
Re: Van RijksRegisterNummer naar geboortedatum
« Reactie #39 Gepost op: 02 november 2023, 20:14:20 »
Voor wie wél nieuwsgierig is:

Online SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.179
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Van RijksRegisterNummer naar geboortedatum
« Reactie #40 Gepost op: 02 november 2023, 21:43:42 »
snb,

Wil je steeds met een ander antwoord komen?
Wil je steeds iedereen overtroeven?
Wil je steeds de kortste code schrijven?

Ik kan je al met zekerheid vertellen dat zelfs je laatste UDF niet werkt op een office 2007, wat een crack als jij toch zeker moest ondervangen hebben.
(Je code geeft een verkeerde geboortedatum ( "jaar = 2070") ipv ("jaar = 1970" of "fout") voor het eerste rrn op A8.)

Sorry als een beginnende novice op Excel jou terecht wijst.

:) SoftAid :)             
 

Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
Re: Van RijksRegisterNummer naar geboortedatum
« Reactie #41 Gepost op: 03 november 2023, 11:00:44 »
ik heb zowel de methode van Molly gebruikt (haar "oneliner") als de laatste versie van SNB (mét en zonder udf)
ik ben van 1953 , mijn papa van 1929
mijn registernummer ingevoerd als xx.xx.xx-xxx.xx
mijn papa registernummer ingevoerd als xxxxxxxxxxx

bij beiden zijn de resultaten wat onze rijksregister nummers betreft juist !
bij mij : xx-x-1953
mijn pa : x-x-1929

wou dit toch even meegeven.
Mvg,
Montagnard.


Online SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.179
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Van RijksRegisterNummer naar geboortedatum
« Reactie #42 Gepost op: 03 november 2023, 11:11:23 »
bij beiden zijn de resultaten wat onze rijksregister nummers betreft juist !
bij mij : xx-x-1953
mijn pa : x-x-1929
hey Arnold,

Die datums zouden inderdaad ook geen probleem mogen geven.
Het probleem stelt zich bij 100 (of 100+) jarigen.
Daar geeft de code van snb voor iemand met rrn 70.10.25-xxx.xx een geboortedatum van 2070, wat natuurlijk niet kan.

Groeten,

:) SoftAid :)             


Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: Van RijksRegisterNummer naar geboortedatum
« Reactie #43 Gepost op: 03 november 2023, 11:32:52 »
Hallo Arnold & SoftAid,

Er zijn blijkbaar nog enkele i's waarop een puntje mag gezet worden :)

Arnold,
De laatste versie van snb werkt inderdaad, dat is namelijk een verbeterde versie (nadat ik hem daar had op gewezen) van de 2 foutieve die hij eerst had geplaatst. Een en ander zou meteen duidelijker zijn geweest als hij dat in zijn laatste post ook had vermeld i.p.v. ons een schuldgevoel te proberen aanpraten (te weinig nieuwsgierig).

SoftAid,
Die geboortdedatum in 2070 was een lolletje van mij (is nog meegenomen uit mijn eerste voorbeeld), en klopt dus wel degelijk. Degenen die in 2070 nog leven mogen het dan checken: de 62° man die op die datum geboren zal worden, zal effectief dat rr-nummer krijgen.
Sorry voor het daarbij creëren van enige verwarring, het was enkel bedoeld om de mathematische correctheid aan te tonen.

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Online SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.179
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Van RijksRegisterNummer naar geboortedatum
« Reactie #44 Gepost op: 03 november 2023, 13:25:05 »
Hallo,

Ik had een hele krantenkop met wijsheden neergepend, maar door de reactie van BlackDevil bleef er enkel een vodje WC-papier over van mijn (overtuigde) stelling.

Daarom heb ik ze maar verwijderd.

Maar nu heb ik toch weer bloem om brood mee (proberen) te bakken.... ;D

Tot de volgende....

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

 


www.combell.com