Problème sur le Retour chariot

Résolu
gaudian Messages postés 62 Statut Membre -  
 Mourad EL Bakkouri -
Bonjour,

Je souhaiterai savoir comment faire pour suprimer un retour chariot sous VB6.

Je vous présente comment est effectué mon enregistrement, je dispose d'une BDD sous Access avec un champ de Mémo qui s"intitule MatConf.

Losrsque j'affiche mon enregistrement (MatConf) par le biais d'un MsgBox, celui-ci apparaît de cette façon :

Commentaire 1
Commentaire 2
Commentaire 3

Voici mon bout de code
MsgBox Trim(Data1.Recordset.Fields(("MatConf")))


Je souhaiterai avoir l'affichage de cette façon :

Commentaire 1, Commentaire 2, Commentaire 3

Merci d'avance

12 réponses

choco000078
 
Dans VB6, tu peux utiliser la fonction Asc pour trouver le code ascii du retour chariot.
Par exemple, dans une boucle for, tu peux faire comme ceci :

for Q = 0 to len(Data1.Recordset.Fields(("MatConf"))))
msgbox Asc(mID(Data1.Recordset.Fields(("MatConf")), Q, 1))
next Q

Ensuite tu utilise la fonction Replace pour remplacer ton retour chariot par une virgule ;)
1
choco000078
 
Le retour chariot correspond à un code ASCII, donc peut-etre devrais-tu chercher le caractère "retour chariot" dans ta chaine, puis le remplacer par une virugule.
0
gaudian Messages postés 62 Statut Membre 3
 
comment faire pour parcourir mon enregistrement pour chercher les retour chariot?
0
gaudian Messages postés 62 Statut Membre 3
 
En réponse à ton code, mon application rentre dans la boucle arrivé à MsgBox.

Mon appli plante, il va directement en erreur
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
choco000078
 
Il te met quoi en erreur ? Peut-etre mettre plutot Data1.Recordset.Fields(("MatConf")).value

Cependant cette boucle c'est juste pour trouver le code ASCII, mais tu pourrais le trouver dans une table ASCII.

Après à toi d'utiliser la fonction Replace dans une boucle FOR, c'est pas très compliqué je pense :)
0
gaudian Messages postés 62 Statut Membre 3
 
comment fonctionne cette fonction replace?

je te pose peut etre des questions trop simple mais je débute en programmation
0
gaudian Messages postés 62 Statut Membre 3
 
j'ai réglé le problème du plantage, j'ai initialisé le compteur à 1 ete tout fonctionne
0
choco000078
 
D'accord. Pour la fonction Replace à toi de chercher un peu sur google.

Tape : vb6 fonction replace

Bon courage ;)
0
gaudian Messages postés 62 Statut Membre 3
 
j'ai un autre petit souci, sur google j'ai trouvé comment fonctionner Replace

le problème c que j'ai 2 champs à remplacer :
- le 1er le saut de ligne (Chr(10))
- le 2ème le retour de chariot (Chr(13))

Je dois procéder comment?
0
gaudian Messages postés 62 Statut Membre 3
 
Merci à toi choco000078
0
gaudian Messages postés 62 Statut Membre 3
 
C'est bon j'ai trouvé,
Il faut ajouter 2 Replace
newMatConf = Replace(Trim(Replace(Data1.Recordset.Fields(("MatConf")), Chr(10), "!")), Chr(13), "?")
                
0
choco000078
 
Tu peux faire la fonction Replace 2 fois, c'est pas un soucis, une fois pour char(10) et une fois pour char(13).
0
Mourad EL Bakkouri
 
Dans l'évenenement Keypresse de ton champ de saisie tapez :

If Keyascii=13 then keyascii=0
0