Access - Control de CUIT o CUIL

 
Vista:

Control de CUIT o CUIL

Publicado por Antonio Salto (2 intervenciones) el 14/05/2002 18:19:44
quisiera saber como puedo realizar un control de CUIT o CUIL en cuadro de texto en Access 2000.
que algoritmo tendria que aplicar, Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Control de CUIT o CUIL

Publicado por Alejandro (4142 intervenciones) el 21/04/2023 18:15:59
Para validar el número de CUIT o CUIL en Access 2000, puedes utilizar el siguiente algoritmo:

1. Verificar que el número ingresado tenga 11 caracteres.

2. Los dos primeros caracteres corresponden al prefijo del documento (20, 23, 24, 27 o 30 para CUIT y 20, 23, 24 o 27 para CUIL).

3. Los siguientes 8 caracteres corresponden al número de documento en sí.

4. El último número es el dígito de control, que se calcula de la siguiente manera:

a. Multiplique los primeros 10 dígitos del CUIT/CUIL por los números 5, 4, 3, 2, 7, 6, 5, 4, 3, 2, respectivamente.

b. Suma los resultados de la multiplicación.

c. Divide la suma obtenida en el paso anterior por 11 y toma el resto.

d. Resta 11 menos el resto obtenido en el paso anterior.

e. Si el resultado es menor que 10, es igual al dígito de control. Si es 10, el dígito de control es 9. Si es 11, el dígito de control es 0.

En Access 2000, puedes utilizar el evento "Después de actualizar" del cuadro de texto donde se ingresa el número de CUIT/CUIL para realizar la validación. En el código del evento, puedes aplicar el algoritmo de validación descrito anteriormente y mostrar un mensaje de error si el número ingresado no es válido.

Aquí hay un ejemplo de código VBA para realizar la validación:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Private Sub txtCUIT_AfterUpdate()
 
    Dim cuit As String
    Dim prefix As String
    Dim number As String
    Dim checkDigit As Integer
    Dim sum As Long
    Dim i As Integer
 
    cuit = Me.txtCUIT.Value
 
    ' Verificar la longitud del CUIT/CUIL
    If Len(cuit) <> 11 Then
        MsgBox "El número de CUIT/CUIL debe tener 11 caracteres.", vbExclamation, "Error de validación"
        Me.txtCUIT.Undo ' Deshacer la entrada
        Exit Sub
    End If
 
    ' Verificar el prefijo del CUIT/CUIL
    prefix = Left(cuit, 2)
    If prefix <> "20" And prefix <> "23" And prefix <> "24" And prefix <> "27" And prefix <> "30" Then
        MsgBox "El número de CUIT/CUIL no es válido.", vbExclamation, "Error de validación"
        Me.txtCUIT.Undo ' Deshacer la entrada
        Exit Sub
    End If
 
    ' Verificar el dígito de control del CUIT/CUIL
    number = Mid(cuit, 3, 8)
    checkDigit = CInt(Right(cuit, 1))
 
    For i = 1 To 10
        sum = sum + CInt(Mid(number, i, 1)) * IIf(i <= 2, 7 - i, 9 - i)
    Next i
 
    If (11 - sum Mod 11) Mod 11 <> checkDigit Then
        MsgBox "El número de CUIT/CUIL no es válido.", vbExclamation, "Error de validación"
        Me.txtCUIT.Undo ' Deshacer la entrada
        Exit Sub
    End If
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar