Probleme d'apostrophe (sql/vba)

Fermé
guadoc Messages postés 70 Date d'inscription mercredi 26 mai 2010 Statut Membre Dernière intervention 21 octobre 2011 - 10 août 2010 à 11:55
blux Messages postés 26297 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 septembre 2024 - 23 févr. 2011 à 13:22
Bonjour,
J'automatise une procédure d'insertion dans une table avec du VBA, sous access.

Mon problème est que ma table contient un champs texte et que parmi les textes à insérer certains comportent des apostrophes.
Par exemple je dois insérer le texte "test d'installation".
Je sais que en sql il faut remplacer l'apostrophe par une double apostrophe. C'est a dire "test d''installation". Mais je ne veux pas faire les remplacements à la main.

Donc si quelqu'un sais comment je peux automatiser l'insertion sans problème je le remercie de m'aider.
Il dois surement exister une fonction qui prend une chaine et qui remplace les apostrophes par des doubles apostrophes mais je ne la connais pas.


Merci d'avance pour vos contributions.

4 réponses

Crillus Messages postés 192 Date d'inscription vendredi 14 novembre 2008 Statut Membre Dernière intervention 22 novembre 2013 563
10 août 2010 à 13:04
et avec un \ avant l'apostrophe ça marcherait ?

"test d\'installation"
0
blux Messages postés 26297 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 septembre 2024 3 300
10 août 2010 à 13:24
Salut,

je ne vois aucun problème à insérer une chaine avec des simple-quotes.

S'il y a avait eu des doubles-quotes, on résoudrait le problème avec un chr().

Ton problème se situe où et se manifeste comment ?
0
guadoc Messages postés 70 Date d'inscription mercredi 26 mai 2010 Statut Membre Dernière intervention 21 octobre 2011 5
10 août 2010 à 13:42
Ca change rien avec un "\". je veux pas avoir a le faire à la main. Il me faut une procédure qui le fait automatiquement.
0
blux Messages postés 26297 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 septembre 2024 3 300
10 août 2010 à 14:27
Ton problème se situe où et se manifeste comment ?
0
guadoc Messages postés 70 Date d'inscription mercredi 26 mai 2010 Statut Membre Dernière intervention 21 octobre 2011 5
10 août 2010 à 14:45
c'est bon j'ai résolut mon problème. il faut utiliser replace(tete,"'","''").
0
Bonjour,
J'ai un problème similaire. J'ai construit sous Access un formulaire de saisie de données qui contient une liste déroulante permettant de trouver l'enregistrement voulu.
Voici mon code de départ sous VBA :

Private Sub Modifiable253_AfterUpdate()
' Rechercher l'enregistrement correspondant au contrôle.
Dim rs As Object

Set rs = Me.Recordset.Clone
rs.FindFirst "[NOM] = '" & Me![Modifiable253] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark

If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub

Évidemment j'ai des noms qui contiennent des apostrophes et donc j'ai un bug quand je tente d'afficher ces noms là. En allant sur les forums, j'ai bien compris qu'il faut placer la fonction replace qq part mais je n'y arrive pas dans mon programme. Est-ce que qq un pourrait prendre le temps de me sortir de là ? (j'utilise VBA via les formulaires Access... donc autant dire que je suis très novice dans ce langage).

Merci par avance pour votre aide.
0
blux Messages postés 26297 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 septembre 2024 3 300
23 févr. 2011 à 13:22
Ca ne va pas résoudre ton problème, car si tu remplaces ton apostrophe, elle ne pourra pas être retrouvée dans les champs de ton recordset.
0