OVH Cloud OVH Cloud

Extraire un n° codé

1 réponse
Avatar
Aquatiq
Bonsoir à tous
Je dois extraire un n° codé d'une base et le placer dans un champ, ce qui
doit donner quelque chose du genre 60AB09020245
60 = n° département extrait du code postal en 5 chiffres (champ CP)
A = première lettre du nom (champ nom)
B = première lettre du prénom (champ prénom)
09 = position de la seconde lettre du nom dans l'alphabet A=1, B=2 ...(champ
nom)
020 = n° extrait d'une série telle que 60 02 020 05 (5, 6 et 7ème chiffre)
245 = n° d'ordre de 0 à 999 à partir du nombre précédent (dans ce cas de 001
à 999 pour le n° 020 - idem pour le n° 001/002/...999)

et cela si un champ "niveau" contient de 1 à 6
Si ce champ est vide, A, B, et 09 deviennent 0000

Je sais. dur dur. Ce n'est peut être même pas possible. Pour ma part, je
sèche.
Si quelqu'un ???
Merci d'avance

JJ

1 réponse

Avatar
Gilbert
Bonjour

Est-ce que cette procédure te convient?
Pour le numéro d'ordre, je n'ai pas compris pourquoi tu as 245 pour 020.


Sub Codage
Dim Code As String
Code = ""
Code = Codepostal 1000
If Niveau > 0 And Niveau < 7 Then
Code = Code & Left(LeNom, 1)
Code = Code & Left(Prenom, 1)
Code = Code & Right("0" & Asc(UCase(Mid(LeNom, 2, 1))) - 64, 2)
Else
Code = Code & "0000"
End If
Code = Code & Mid(Trim(Serie), 5, 3)
End Sub

Gilbert



"Aquatiq" a écrit dans le message de
news:45564bce$0$21149$
Bonsoir à tous
Je dois extraire un n° codé d'une base et le placer dans un champ, ce qui
doit donner quelque chose du genre 60AB09020245
60 = n° département extrait du code postal en 5 chiffres (champ CP)
A = première lettre du nom (champ nom)
B = première lettre du prénom (champ prénom)
09 = position de la seconde lettre du nom dans l'alphabet A=1, B=2
...(champ

nom)
020 = n° extrait d'une série telle que 60 02 020 05 (5, 6 et 7ème chiffre)
245 = n° d'ordre de 0 à 999 à partir du nombre précédent (dans ce cas de
001

à 999 pour le n° 020 - idem pour le n° 001/002/...999)

et cela si un champ "niveau" contient de 1 à 6
Si ce champ est vide, A, B, et 09 deviennent 0000

Je sais. dur dur. Ce n'est peut être même pas possible. Pour ma part, je
sèche.
Si quelqu'un ???
Merci d'avance

JJ