Probleme d'apostrophe (sql/vba)
guadoc
Messages postés
70
Date d'inscription
Statut
Membre
Dernière intervention
-
blux Messages postés 27145 Date d'inscription Statut Modérateur Dernière intervention -
blux Messages postés 27145 Date d'inscription Statut Modérateur Dernière intervention -
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.
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
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 ?
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 ?
Ca change rien avec un "\". je veux pas avoir a le faire à la main. Il me faut une procédure qui le fait automatiquement.
c'est bon j'ai résolut mon problème. il faut utiliser replace(tete,"'","''").
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.
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.