BSN check in Access

Status
Niet open voor verdere reacties.

Nezih

Gebruiker
Lid geworden
25 jun 2021
Berichten
30
Kan iemand mij vertellen hoe ik een BSN-check kan doen in Access?
Thx
 
Ik gebruik tegenwoordig deze functie:
Code:
Function CheckBSN(BSN As Long) As Byte
Dim i As Integer, Check As Integer, Product As Integer, cBSN As Long
Dim rst As DAO.Recordset
    
    cBSN = BSN
    Product = 0
    ' Laatste cijfer opslaan en strippen. Dit is de verificatie
    Check = cBSN Mod 10
    cBSN = Fix(cBSN / 10)
    i = 2
    Do While cBSN > 0
        ' Volgende cijfer vermenigvuldigen met steeds 1 meer
        Product = Product + (cBSN Mod 10) * i
        cBSN = Fix(cBSN / 10)
        i = i + 1
    Loop

    CheckBSN = IIf((Check = (Product Mod 11)) = False, 1, 2)
    If CheckBSN = 2 Then
        Set rst = CurrentDb.OpenRecordset("SELECT bsn FROM tPersonen WHERE BSN = """ & BSN & """")
        With rst
            On Error Resume Next
            .MoveLast
            .MoveFirst
            If .RecordCount = 1 Then
                CheckBSN = 3
            ElseIf .RecordCount > 1 Then
                CheckBSN = 4
            End If
            .Close
            On Error GoTo 0
        End With
    End If
End Function

Die controleert, nadat is gecheckt of het nummer correct is, daarna in de database of het nummer al een keer is ingevoerd. Dat is, bij het invoeren van nieuwe personen, uiteraard uit den boze want de nummers dienen uniek te zijn. Op basis van de output van de functie kun je dan bepalen wat je met de ingevoerde waarde wilt doen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan