02.02.2011

Calculul Datei Nasterii din CNP

Functia trateaza si CNP-urile persoanelor straine rezidente (al caror CNP incepe cu 7 sau 8 in functie de sex) sau al persoanelor straine ce nu sunt rezidente (avand 9 prima cifra din CNP) cu conditia ca persoana respectiva sa fie nascuta dupa 1920 - in caz contrar va afisa eronat secolul.
Inainte de a folosi formula, va recomand sa verificati corectitudinea CNP-urilor din tabela voastra folosind functia de validare CNP-uri.

Function Data_Nasterii(CNP As String) As Date
Dim An As Integer, Luna As Integer, Zi As Integer
Select Case Left(CNP, 1)
Case 1, 2
An = CInt("19" & Mid(CNP, 2, 2))
Case 5, 6
An = CInt("20" & Mid(CNP, 2, 2))
Case 7, 8, 9
    If CInt(Mid(CNP, 2, 2)) < 20 Then
        An = CInt("20" & Mid(CNP, 2, 2))
    Else
        An = CInt("19" & Mid(CNP, 2, 2))
    End If
End SelectLuna = CInt(Mid(CNP, 4, 2))
Zi = CInt(Mid(CNP, 6, 2))
Data_Nasterii = DateSerial(An, Luna, Zi)
End Function



Niciun comentariu:

Trimiteți un comentariu