Concerver l'apostrophe

Résolu
trecylafierte Messages postés 23 Date d'inscription vendredi 20 août 2010 Statut Membre Dernière intervention 28 septembre 2010 - 8 sept. 2010 à 12:33
trecylafierte Messages postés 23 Date d'inscription vendredi 20 août 2010 Statut Membre Dernière intervention 28 septembre 2010 - 8 sept. 2010 à 13:38
Bonjour à tous.
Je conçoit une base de données sur la gestion des transactions financières d'une entreprise.Seulement je rencontre un problème avec les apostrophes.J'aimerai pouvoir saisir des chaines de caractères contenant des apostrophes comme "appels d'offre". Seulement je n'y arrive pas.j'ai recherché la solution sur les forum existants. Certaines proposent de remplacer l'apostrophe par un autre caractère à l'aide de la fonction Replace et d'autres de le remplacer en utilisant l'événement Keypress (+ les codes ASCII) de l'objet(test box en l'occurrence). Seulement ces deux méthodes permettent de supprimer l'apostrophe mais c'est pas ce que moi je veux. J'aimerai pouvoir écrire "appel d'offre" à l'aide de mon formulaire et que "appel d'offre soit envoyé dans ACCESS(c'est le SGBD que j'utilise pour la conception de mon application).Y'aurai t'il une possibilité de conserver l'apostrophe?
Merci....

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
8 sept. 2010 à 13:29
Salut,

Il faut faire le replace lors de la construction de ta requête sql, du style, si avant tu avais :

Dim requete As String

requete "UPDATE TaTable Set TonChamp '" & tonChampTexte.Text & "'"

Alors ca doit devenir :
requete "UPDATE TaTable Set TonChamp '" & replace(tonChampTexte.Text, "'", "''") & "'"
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
8 sept. 2010 à 12:48
Salut,

C'est parce que l'apostrophe représente une chaîne de caractère dans le langage SQL, il te faut doubler l'aposthrophe pour indiquer à access qu'il s'agit d'un apostrophe et non d'une fin de chaîne de caractère :
replace(tonChampTexte.text, "'", "''")
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
trecylafierte Messages postés 23 Date d'inscription vendredi 20 août 2010 Statut Membre Dernière intervention 28 septembre 2010
8 sept. 2010 à 13:01
Merci
0
trecylafierte Messages postés 23 Date d'inscription vendredi 20 août 2010 Statut Membre Dernière intervention 28 septembre 2010
8 sept. 2010 à 13:24
Salut
comme je l'ai dit tantôt dans mon premier mail.Cette méthode ne résouds pas mon probléme.Voici mon bout de code
Private Sub monchamptexte_Change()
Replace monchamptexte.Text, "'", "''"
End Sub
0

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

Posez votre question
trecylafierte Messages postés 23 Date d'inscription vendredi 20 août 2010 Statut Membre Dernière intervention 28 septembre 2010
8 sept. 2010 à 13:38
Merci beaucoup,je vous en suis très reconnaissante.
Cela fonctionne.
0
Rejoignez-nous