Bonjour,
Je suis de niveau débutant.
Voici mon problème : Après importation dans ma base access d'un fichier de données d'environ 2000 lignes provenant d'un logiciel comptable en transformé .xls, je récupère parmis tous les champs, un "champ libre" (libellé) comprenant des informations diverses dont, sur 1026 lignes, des infos importantes de type "nom1/nom2/N° Facture".
Je souhaite récupérer nom2 dans ma base. Les 3 données sont de grandeur variables.
J'ai essayé la fonction Split dans une requête, conseillée par Philippe JOCHMANS sur le forum. Super !.... et j'en profite pour le féliciter pour ses explications limpides. :-)
La fonction :
...Nickel pour les données avec xxxxx/zzzzz/111111.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Public Function Extract(strTexte As String, bytPos As Byte) As String 'déclaration de variable Dim tabextract As Variant tabextract = Split(strTexte, "/") Extract = tabextract(bytPos) End Function
Malheureusement ce fameux champ comporte aussi des suites de caractères différents, parfois sans "/", parfois avec 1 seul "/".
Le résultat est que la requête renvoie bien toutes les lignes mais seulement 71 lignes sont renseignées du Nom2.
Visiblement, à la première ligne qu'elle rencontre sans les 2 "/", elle envoie des messages d'erreurs et arrete le process !!! ???
Si je supprime dans la table source toutes les lignes qui ne sont pas en "nom1/nom2/N° Facture", soit 1026 lignes, la requête fonctionne et mon champ est bien renseigné de nom2 sur les 1026 lignes.
Ma question : Y aurait-il un moyen d'exécuter cette requête avec pour condition que pour chaque ligne, le champ "Libellé" contienne bien les 2 "/" ?
Si oui, elle copie la donnée nom2 vers le champ idoine, Si non, elle ne fait rien et passe à la ligne suivante sans rien copier
exemple :
champ Libellé : OMD/SARA LE/300017125 ==> Champ nom2: SARA LE
champ Libellé : MEDIABRA/MARIONN/10055719 ===> Champ nom2: MARIONN
champ Libellé : A.N. au 010109 A.N. au 010108 at ho ===> rien dans le champ nom2
champ Libellé : clt dtx lb communication ===> rien dans le champ nom2
et de ce fait, je retouverais mes 2000 lignes dont 1026 lignes renseignées des nom2, ce qui serait super !
Merci d'avance pour votre temps et vos conseils
Bien amicalement
Partager