Calcul Clé Iban dans une requête SQL
Bonjour à toutes et à tous,
Je suis un petit nouveau sur ce site et j'ai un gros problème de formule
Je veux procéder à un contrôle de données bancaires pour une application ACCESS développée en interne
- Retrouver la clé BIC, pas de problème
- Calculer la clé RIB, quelques soucis au départ mais ça fonctionne, même si la longueur de la requête fait que le résultat met du temps à venir, je verrais pour optimiser ça à l'occasion
Là où mon problème se pose, c'est que je n'arrive pas à calculer la clé Iban, j'ai chercher partout sur le net et je n'ai rien trouvé de satisfaisant pour répondre à cette question.
J'ai bien retranscrit mes lettres en chiffres, mais une fois avec ce gros chiffre, comment je le travaille ?
VBA, je ne suis pas trop à l'aise, je suis donc à la recherche d'un Dieu SQL ou même plusieurs qui auraient une requête de ce type
Je vous remercie beaucoup par avance
[AC-2007] Calcul Clé Iban dans une requête SQL
Bonjour PylouPylou
Bonjour Claude
Merci à tous les deux pour vous être intéressés à ma question
Vos réponses sont plus sur du Vba où je ne suis pas du tout à l'aise, car si je prends votre code et que je le place dans un module, je ne sais pas trop comment le modifier ni même comment l'appeler après pour qu'il interroge ma table. Je suis loin très loin d'être aussi bon que vous
Voici le début de ma requête : (vous me direz ce que vous en pensez)
SELECT ([BANQUE1]+[CODGUI1]+[NUMCPT1]+[CLERIB1]+ 'FR' + '00') AS CODEIBAN, CLERIB1, CLEIBA1, Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(CODEIBAN,'A','10'),'B','11'),'C','12'),'D','13'),'E','14'),'F','15'),'G','16'),'H','17'),'I','18'),'J','19'),'K','20'),'L','21'),'M','22'),'N','23'),'O','24'),'P','25'),'Q','26'),'R','27'),'S','28'),'T','29'),'U','30'),'V','31'),'W','32'),'X','33'),'Y','34'),'Z','35') AS iban,
98-(int((iban)/97)-10) AS calcul, left(iban, 9)/97 AS lefiban, mid(iban, 10, 9) AS midiban, right(iban, 9) AS rightiban, Int(Len(iban) / 3) AS D, Int(Left(iban, D)/97) AS E, int(Left(Right(iban, 20), D))/97 AS F, int(E & F)/97 AS EF, Int(Right(iban, Len(iban) - 2 * D)) AS G, int((EF & G)/97), 98 - (((((left(iban, 9)/97) & mid(iban,10, 9))/97) & mid(iban,19, 11))/97)
FROM MaTable;
C'est la partie en gras : calcul du modulo qui me pose problème, je patauge sévèrement
Avez-vous une solution à celà ?
Je vous remercie infiniment par avance
Cordialement
[AC-2007] Calcul Clé Iban dans une requête SQL
Re bonjour et merci
En fait j'en ai besoin pour contrôler la clé Iban qui a été fournit ou pour la renseigner si elle n'a pas été fournit
Que me proposez-vous ?
Merci d'avance
[AC-2007] Calcul Clé Iban dans une requête SQL
Oui c'est exactement celà
Vous lisez dans mes pensées
[AC-2007] Calcul Clé Iban dans une requête SQL
ça fonctionne après avoir tapé entrée, ça me donne
--> j'ai saisi à la suite code banque + code guichet + numcompte + clé
Print BBANtoIBAN("FR", "le_n°_sur23chiffres")
j'ai hâte de voir le formulaire que tu proposes
[Tutoriel] Calcul du code IBAN
[AC-2007] Calcul Clé Iban dans une requête SQL
Bonjour Claude et merci pour cette solution qui est est bien meilleure en terme d'exécution qu'une requête (que j'ai finalement réussi à écrire et à faire fonctionner)
Je préfère ta solution
Que dois je faire pour qu'elle interroge la table complète plutôt que de rentrer la donnée manuellement ?
[AC-2007] Calcul Clé Iban dans une requête SQL
Bonjour Claude
Ma table contient un certain nombre de données notamment les données bancaires, à savoir, les champs :
titulairecompte, codebanque, codeguichet, numerocompte, clerib, cleiban, code bic, pays
La clé iban est ou n'est pas renseignée, et parfois mal, d'où ce besoin de contrôle
En fait j'aurais besoin de quelque chose qui me liste l'ensemble de ces données, avec une colonne supplémentaire ajoutée à droite du champ cléiban qui recalcule cette clé et (cerise sur le gateau) une colonne supllémentaire qui me compare ces deux champs avec vrai ou faux en réponse
Bien cordialement
[AC-2007] Calcul Clé Iban dans une requête SQL
Bonjour Claude
Désolé pour ce retard
Pour les données, je suis un peu géné dans la mesure où ce sont des données sensibles que je ne peux pas communiquer tu t'en doutes
Si tu peux déposer un modèle que je testerais, ce sera plus sage
merci d'avance