Mettre une double quote quand il y a qu'une quote!!!

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 801 fois - Téléchargée 27 fois

Contenu du snippet

il permet de doubler la quote, quand dans une chaine de caractere il y a une quote!

ce qui peut perturber le programme surtout en base de donnée !!

Source / Exemple :


Public Function replquot(ByVal test As String) As String

Static i As Integer
Static b As String

For i = 1 To Len(Trim(test))
    
    If Mid(test, i, 1) = "'" Then
        replquot = replquot & "'"
    End If
        
        replquot = replquot & Mid(test, i, 1)
        
Next

End Function

A voir également

Ajouter un commentaire Commentaires
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
26
Ouais !! Ben vive le Replace de Nix !! D'ailleur au passage, moi je mettrais plutot Replace$(...)
Messages postés
337
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
15 avril 2006

de plus ca bug si on met des espace au debut de l'argument avec un quote vers la fin (trim enleve les esapce a gauche et a droite)

pour VB5, avec test en byval, voila plus rapide :

i = InStr(1, test, "'")
While i
Mid(test, i, 1) = """"
i = InStr(i, test, "'")
Wend
replquot=test

@+
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
d'accord avec Nix

pas tout a fait avec ta boucle...

1 - pourquoi declarer i en Static ?
2 - que fait b ?
3 - pourquoi ne pas restituer toute la chaine ?
en clais, tu fais une boucle jusqu'à len ( Trim ( test ))
donc, tu n'analyse pas les n derniers espaces, qui disparaissent !

autre chose, cote optimisation (et sans utilise Replace)
tu pourrais declarer ton parametre test en ByRef...
tu devrais eviter de recalculer Mid(test, i, 1) (utilises donc b !! )

et utilise Mid$ a la place de Mid

voila voila...
Messages postés
831
Date d'inscription
samedi 15 mai 1999
Statut
Modérateur
Dernière intervention
18 juillet 2009

Pas """" mais " ' ' " (retirer les espace)
En traduction textuelle ça donne
Guillement Apostrophe Apostrophe Guillement
Messages postés
70
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
7 juin 2006

ca marche ca """"?
je pencherai plutot sur un truc du genre
test=replace(test,"'",chr$(34))
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.