Newsgroup: it.comp.appl.access
Titolo: codice iban

Salve a tutti,
come posso ricavare i codici di controllo per la creazione del codice IBAN.
Ho gia creato il  IT (Codici di controllo ##) CIN -Abi- CaB - C/C.
Grazie
Carlo
-- 
Il Caffé
da sempre la miglore bevanda 


da questo sito puoi trovare il codice per il controllo del codice IBAN
http://xoomer.alice.it/baxluc/checkibanbban.html
ciao
Andrea Papi

 ha scritto nel messaggio 
news:48d6874a$0$18154$4faf...@reader3.news.tin.it...

La creazione dell'IBAN non è mai corretta al 100% .
Attento
ciao
-- 
Roberto da Parma 

 ha scritto nel messaggio 
news:5bb2a994-bb20-4604...@c65g2000hsa.googlegroups.com...


http://xoomer.alice.it/baxluc/checkibanbban.html
ciao
Andrea Papi
Ciao Andrea,  grazie per il tuo  interessamento, non conosco molto bene 
Access figuriamo Visual Basic, come posso fare?
grazie
Carlo

 ha scritto nel messaggionews:5bb2a994-bb20-4604...@c65g2000hsa.googlegroups.com...

creati un nuovo modulo e copiati questo codice
poi per eseguire il chek del codice iban invia il codice e il
messaggio di errore alla funzione
es.
call fcBank_IBANChek( tuoCodiceIban, MsgDiErrore )
Function fcBank_IBANChek(pstrIBan As String, pstrMsg As String) As
Boolean
'----------------------------------------------------------------------------------------------------
' VERIFICA DI UN CODICE IBAN
'----------------------------------------------------------------------------------------------------
' Parametri:
'       pstrIBan = Codice IBAN da verificare
'       pstrMsg = Messaggio di risposta (solo se IBAN non è
corretto !!)
'----------------------------------------------------------------------------------------------------
        Dim strIBan As String
        Dim mtrString(0 To 33)
        Dim intR As Integer
        Dim intJ As Integer
        Dim intK As Integer
        Dim varChair
        ' Controllo della lunghezza e del codice di controllo
        ' IBAN deve essere una stringa costituita di almeno 5
caratteri
        If Len(pstrIBan) < 23 Then
                pstrMsg = "La lunghezza è minore di 5 caratteri"
                Exit Function
        End If
        ' Scambio dei primi quattro caratteri con il resto
        strIBan = Mid(pstrIBan, 5) & Left(pstrIBan, 4)
        ' Memorizza srtinga e verifica caratteri consentiti
        intR = 0
        For intJ = 1 To Len(strIBan)
                mtrString(intR) = Mid(strIBan, intJ, 1)
                intR = intR + 1
        Next intJ
        ' Ciclo tra caratteri della stringa
        intR = 0
        For intJ = 0 To Len(strIBan) - 1
                ' Estrae il prossimo carattere varChair
                varChair = Asc(mtrString(intJ))
                ' Calcola il codice intK da 0 a 35
                If varChair >= 48 And varChair <= 57 Then       ' per
cifra 0-9
                        ' Inoltre, le posizioni 0 e 1 possono essere
occupate esclusivamente da una sigla valida ISO del paese
                        If intJ = Len(strIBan) - 4 Or intJ =
Len(strIBan) - 3 Then
                                pstrMsg = "Posizioni 1 e 2 non possono
contenere cifre"
                                Exit Function
                        End If
                        ' La cifra è trasformata nel numero
corrispondente, ad esempio 7 in 7.
                        intK = varChair - 48
                ElseIf varChair >= 65 And varChair <= 90 Then ' per
lettera A-Z
                        ' Le posizioni 2 e 3 da un numero tra 00 e 96
                        If intJ = Len(strIBan) - 2 Or intJ =
Len(strIBan) - 1 Then
                                pstrMsg = "Posizioni 3 e 4 non possono
contenere lettere"
                                Exit Function
                        End If
                        ' La lettera A si converte in 10, B in 11,
ecc., Z si converte in 35.
                        intK = varChair - 55
                Else
                        ' IBAN deve contenere solo lettere maiuscole
dell'alfabeto latino da A a Z e cifre da 0 a 9.
                        pstrMsg = "Sono ammesse solo cifre e lettere
maiuscole"
                        Exit Function
                End If
                ' Controllo del codice di controllo
                If Mid(pstrIBan, 4, 2) > "96" Then
                        pstrMsg = "Il codice d controllo non può
superare 96"
                        Exit Function
                End If
                ' Cumula il resto della divisione per 97
                If intK > 9 Then
                        intR = (100 * intR + intK) Mod 97
                Else
                        intR = (10 * intR + intK) Mod 97
                End If
        Next intJ
                ' Il resto della divisione deve essere 1
                If intR <> 1 Then
                        pstrMsg = "Il codice di controllo è errato"
                        Exit Function
                End If
                ' Return OK
                fcBank_IBANChek = True
End Function
ciao
Andrea Papi

 ha scritto nel messaggio 
news:gb8abt$rq3$1...@tdi.cu.mi.it...

grazie,  vedrò di fare del mio meglio, avendo cura di controllare
buona giornata

 messaggionews:5bb2a994-bb20-4604...@c65g2000hsa.googlegroups.com...


es.


'       pstrMsg = Messaggio di risposta (solo se IBAN non č
corretto !!)
'----------------------------------------------------------------------------------------------------
        Dim strIBan As String
        Dim mtrString(0 To 33)
        Dim intR As Integer
        Dim intJ As Integer
        Dim intK As Integer
        Dim varChair
        ' Controllo della lunghezza e del codice di controllo
        ' IBAN deve essere una stringa costituita di almeno 5
caratteri
        If Len(pstrIBan) < 23 Then
                pstrMsg = "La lunghezza č minore di 5 caratteri"

                        ' La cifra č trasformata nel numero
corrispondente, ad esempio 7 in 7.
                        intK = varChair - 48
                ElseIf varChair >= 65 And varChair <= 90 Then ' per
lettera A-Z
                        ' Le posizioni 2 e 3 da un numero tra 00 e 96
                        If intJ = Len(strIBan) - 2 Or intJ =
Len(strIBan) - 1 Then
                                pstrMsg = "Posizioni 3 e 4 non possono
contenere lettere"
                                Exit Function
                        End If
                        ' La lettera A si converte in 10, B in 11,
ecc., Z si converte in 35.
                        intK = varChair - 55
                Else
                        ' IBAN deve contenere solo lettere maiuscole
dell'alfabeto latino da A a Z e cifre da 0 a 9.
                        pstrMsg = "Sono ammesse solo cifre e lettere
maiuscole"
                        Exit Function
                End If
                ' Controllo del codice di controllo
                If Mid(pstrIBan, 4, 2) > "96" Then
                        pstrMsg = "Il codice d controllo non puň
superare 96"
                        Exit Function
                End If
                ' Cumula il resto della divisione per 97
                If intK > 9 Then
                        intR = (100 * intR + intK) Mod 97
                Else
                        intR = (10 * intR + intK) Mod 97
                End If
        Next intJ
                ' Il resto della divisione deve essere 1
                If intR <> 1 Then
                        pstrMsg = "Il codice di controllo č errato"
                        Exit Function
                End If
                ' Return OK
                fcBank_IBANChek = True
End Function
ciao
Andrea Papi
Andrea grazie, vedrň di cimentarmi per realizzare l'applicazione
Ciao
Carlo


Questo codice non è fatto benissimo.
Il parametro pstrMsg di fatto poi non viene utilizzato
anche se l'autore dice di sì
 pstrMsg = Messaggio di risposta (solo se IBAN non è corretto !!)
ciao sam--

 ciao sam--
-- 
Ciao
Geppo

> ciao sam--
ma la function restituisce un boolean, come fa a restituire una
stringa? in questo caso pstr.
Comunque nel codice non c'è nessun msgbox
quindi se io faccio
dim rc as boolean
rc = fcBank_IBANChek("xypap","mio messaggio di errore")
rc vale false
ergo, non mi sembra che la variabile pstrMsg utilizzata serve a
qualcosa.
Per me questo codice è stato adattato da un'altro linguaggio.
ciao sam--