Validar el número de cuenta bancaria
6.01.2008
‘03/04/2005 ver 1.0b
‘Valida el número de cuenta
Function Validar_CCC(Cuenta As String) As Boolean
Dim DC, respuesta As String
DC = Mid(Cuenta, 9, 2)
Cuenta = Mid(Cuenta, 1, 8) & Mid(Cuenta, 11)
If DC = DigitoControl(Mid(Cuenta, 1, 8)) & DigitoControl(Mid(Cuenta, 9)) Then
Validar_CCC = True
Exit Function
Else
respuesta = MsgBox(”El número de cuenta es incorrecto, verifíquelo.”, vbOKOnly + vbCritical, “Ironda”)
Validar_CCC = False
Exit Function
End If
End Function
‘03/04/2005 ver 1.0b
‘Calcula los dígitos de control de la cuenta bancaria del cliente
Function DigitoControl(Serie As String) As String
Const Pesos = “06030709100508040201″
Dim l As Long, i As Integer
For i = 1 To Len(Serie)
l = l + (Mid(Serie, Len(Serie) – i + 1, 1) * Mid(Pesos, ((i – 1) * 2) + 1, 2))
Next
Select Case 11 – (l Mod 11)
Case 11
DigitoControl = 0
Case 10
DigitoControl = 1
Case Else
DigitoControl = 11 – (l Mod 11)
End Select
End Function
Filed in Microsoft Access
Tags: bancaria, ccc, codigo, comprobar, cuenta, maccess
12.06.2008 at 20:56
Te hago una consulta. Esto de generar dígitos de control de la cuenta bancaria, para donde es? para algo inventado por vos o es posta? Porque me serviría de mucho.
Atte.
Jorge
13.06.2008 at 7:49
En España, no sé en otros paises, el número que identifica a las cuentas bancarias está compuesto por 20 dígitos (ABCD-EFGH-IJ-KLMNÑOPQRS). Los cuatro primeros corresponden a la entidad bancaria (ABCD), los cuatro siguientes (EFGH) a la sucursal de la entidad bancaria, y los diez últimos (KLMNÑOPQRS) corresponden al número de cuenta. Y para comprobar que todos los dígitos se han introducido de forma correcta existen los dígitos de control (IJ). Estos dígitos se generan mediante unas operaciones matemáticas con los demás dígitos, de forma que si alguno de los demás dígitos no es el correcto los dígitos de control no coinciden.
Espero que te haya quedado resuelta la duda.
23.07.2008 at 12:04
Estoy utilizando esta función tuya en access y va muy bien, pero tengo un problema, la he colocado al perder el foco del control y si el campo esta vacio me da error, sabes como podría solucionarlo.
Gracias y un saludo.
23.07.2008 at 17:10
Prueba con:
Private Sub Control_LostFocus()
If isnull(Control) then exit sub
–>> A continuación el código que verifica la cuenta bancaria.
End Sub
Lógicamente tienes que sutituir ‘Control’ por el nombre que tú le tengas dado al control. Si isnull(Control) no te funciona prueba con Control=”".