
Calculo del digito de control de cuenta bancaria
Visual Basic
Publicado el 30 de Septiembre del 2002 por Antonio Pérez
28.903 visualizaciones desde el 30 de Septiembre del 2002
Función para calcular el digito de control de un banco.
Function sBankControlDigit(Bank As Integer, SubBank As Integer, Account As Double) As String
Dim sBank As String
Dim sSubBank As String
Dim sAccount As String
Dim Temporal As Integer
sBank = Format(Bank, "0000")
sSubBank = Format(SubBank, "0000")
sAccount = Format(Account, "0000000000")
Temporal = 0
Temporal = Temporal + Mid(sBank, 1, 1) * 4
Temporal = Temporal + Mid(sBank, 2, 1) * 8
Temporal = Temporal + Mid(sBank, 3, 1) * 5
Temporal = Temporal + Mid(sBank, 4, 1) * 10
Temporal = Temporal + Mid(sSubBank, 1, 1) * 9
Temporal = Temporal + Mid(sSubBank, 2, 1) * 7
Temporal = Temporal + Mid(sSubBank, 3, 1) * 3
Temporal = Temporal + Mid(sSubBank, 4, 1) * 6
Temporal = 11 - (Temporal Mod 11)
If Temporal = 11 Then
sBankControlDigit = "0"
ElseIf Temporal = 10 Then
sBankControlDigit = "1"
Else
sBankControlDigit = Format(Temporal, "0")
End If
Temporal = 0
Temporal = Temporal + Mid(sAccount, 1, 1) * 1
Temporal = Temporal + Mid(sAccount, 2, 1) * 2
Temporal = Temporal + Mid(sAccount, 3, 1) * 4
Temporal = Temporal + Mid(sAccount, 4, 1) * 8
Temporal = Temporal + Mid(sAccount, 5, 1) * 5
Temporal = Temporal + Mid(sAccount, 6, 1) * 10
Temporal = Temporal + Mid(sAccount, 7, 1) * 9
Temporal = Temporal + Mid(sAccount, 8, 1) * 7
Temporal = Temporal + Mid(sAccount, 9, 1) * 3
Temporal = Temporal + Mid(sAccount, 10, 1) * 6
Temporal = 11 - (Temporal Mod 11)
If Temporal = 11 Then
sBankControlDigit = sBankControlDigit + "0"
ElseIf Temporal = 10 Then
sBankControlDigit = sBankControlDigit + "1"
Else
sBankControlDigit = sBankControlDigit + Format(Temporal, "0")
End If
End Function
Comentarios sobre la versión: Versión 1 (4)
Muchas grácias
Gracias