Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site d'un
des contributeurs (je ne sais plus lequel, je les drague tous....) qui me
permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai une
injure-box 3077 (erreur de syntaxe - opérateur absent dans l'expression) et
le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas des
exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site d'un
des contributeurs (je ne sais plus lequel, je les drague tous....) qui me
permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai une
injure-box 3077 (erreur de syntaxe - opérateur absent dans l'expression) et
le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas des
exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site d'un
des contributeurs (je ne sais plus lequel, je les drague tous....) qui me
permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai une
injure-box 3077 (erreur de syntaxe - opérateur absent dans l'expression) et
le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas des
exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un des contributeurs (je ne sais plus lequel, je les drague tous....)
qui me permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai
une injure-box 3077 (erreur de syntaxe - opérateur absent dans
l'expression) et le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas
des exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un des contributeurs (je ne sais plus lequel, je les drague tous....)
qui me permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai
une injure-box 3077 (erreur de syntaxe - opérateur absent dans
l'expression) et le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas
des exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un des contributeurs (je ne sais plus lequel, je les drague tous....)
qui me permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai
une injure-box 3077 (erreur de syntaxe - opérateur absent dans
l'expression) et le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas
des exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
Bonjour, Mission
Pour qu'apostrophes et guillemets soient reconnus en tant que tels dans une
instruction SQL, il faut les doubler.
Tu peux utiliser la fonction Replace pour cela (je crois qu'elle existe
depuis la version 2000). Voila ce que ça donne:
Replace(Me.[lstClients],"'","''")
Comme on ne voit pas très bien, la même avec des espaces en plus (uniquement
pour comprendre le principe!):
Replace(Me.[lstClients]," ' "," ' ' ")
Pour le guillemet, c'est pire puisque c'est aussi le caractère délimiteur de
chaîne de VBA. Il faut utiliser une instruction du genre:
Replace(TaChaine,"""","""""")
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un des contributeurs (je ne sais plus lequel, je les drague tous....) qui
me permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai une
injure-box 3077 (erreur de syntaxe - opérateur absent dans l'expression) et
le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas des
exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
Bonjour, Mission
Pour qu'apostrophes et guillemets soient reconnus en tant que tels dans une
instruction SQL, il faut les doubler.
Tu peux utiliser la fonction Replace pour cela (je crois qu'elle existe
depuis la version 2000). Voila ce que ça donne:
Replace(Me.[lstClients],"'","''")
Comme on ne voit pas très bien, la même avec des espaces en plus (uniquement
pour comprendre le principe!):
Replace(Me.[lstClients]," ' "," ' ' ")
Pour le guillemet, c'est pire puisque c'est aussi le caractère délimiteur de
chaîne de VBA. Il faut utiliser une instruction du genre:
Replace(TaChaine,"""","""""")
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un des contributeurs (je ne sais plus lequel, je les drague tous....) qui
me permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai une
injure-box 3077 (erreur de syntaxe - opérateur absent dans l'expression) et
le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas des
exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
Bonjour, Mission
Pour qu'apostrophes et guillemets soient reconnus en tant que tels dans une
instruction SQL, il faut les doubler.
Tu peux utiliser la fonction Replace pour cela (je crois qu'elle existe
depuis la version 2000). Voila ce que ça donne:
Replace(Me.[lstClients],"'","''")
Comme on ne voit pas très bien, la même avec des espaces en plus (uniquement
pour comprendre le principe!):
Replace(Me.[lstClients]," ' "," ' ' ")
Pour le guillemet, c'est pire puisque c'est aussi le caractère délimiteur de
chaîne de VBA. Il faut utiliser une instruction du genre:
Replace(TaChaine,"""","""""")
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un des contributeurs (je ne sais plus lequel, je les drague tous....) qui
me permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai une
injure-box 3077 (erreur de syntaxe - opérateur absent dans l'expression) et
le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas des
exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
Bonjour
Remplaces ton code par :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = """ & Me.[lstClients] & """"
Me.Bookmark = Rs.Bookmark
End Sub
--
@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un
des contributeurs (je ne sais plus lequel, je les drague tous....) qui me
permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai
une
injure-box 3077 (erreur de syntaxe - opérateur absent dans l'expression)
et
le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas
des
exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
Bonjour
Remplaces ton code par :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = """ & Me.[lstClients] & """"
Me.Bookmark = Rs.Bookmark
End Sub
--
@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------
Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un
des contributeurs (je ne sais plus lequel, je les drague tous....) qui me
permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai
une
injure-box 3077 (erreur de syntaxe - opérateur absent dans l'expression)
et
le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas
des
exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
Bonjour
Remplaces ton code par :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = """ & Me.[lstClients] & """"
Me.Bookmark = Rs.Bookmark
End Sub
--
@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un
des contributeurs (je ne sais plus lequel, je les drague tous....) qui me
permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai
une
injure-box 3077 (erreur de syntaxe - opérateur absent dans l'expression)
et
le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas
des
exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
Hello Gilles !
Je me permets d'ajouter que, pour rendre le code plus compréhensible et
afin de ne pas se perdre dans les guillemets, on peut utiliser
Chr(34) à la place du doublage de guillemets.
En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :Bonjour, Mission
Pour qu'apostrophes et guillemets soient reconnus en tant que tels dans
une instruction SQL, il faut les doubler.
Tu peux utiliser la fonction Replace pour cela (je crois qu'elle existe
depuis la version 2000). Voila ce que ça donne:
Replace(Me.[lstClients],"'","''")
Comme on ne voit pas très bien, la même avec des espaces en plus
(uniquement pour comprendre le principe!):
Replace(Me.[lstClients]," ' "," ' ' ")
Pour le guillemet, c'est pire puisque c'est aussi le caractère délimiteur
de chaîne de VBA. Il faut utiliser une instruction du genre:
Replace(TaChaine,"""","""""")
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un des contributeurs (je ne sais plus lequel, je les drague tous....)
qui me permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai
une injure-box 3077 (erreur de syntaxe - opérateur absent dans
l'expression) et le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas
des exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution
acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
--
Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info
Hello Gilles !
Je me permets d'ajouter que, pour rendre le code plus compréhensible et
afin de ne pas se perdre dans les guillemets, on peut utiliser
Chr(34) à la place du doublage de guillemets.
En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
Bonjour, Mission
Pour qu'apostrophes et guillemets soient reconnus en tant que tels dans
une instruction SQL, il faut les doubler.
Tu peux utiliser la fonction Replace pour cela (je crois qu'elle existe
depuis la version 2000). Voila ce que ça donne:
Replace(Me.[lstClients],"'","''")
Comme on ne voit pas très bien, la même avec des espaces en plus
(uniquement pour comprendre le principe!):
Replace(Me.[lstClients]," ' "," ' ' ")
Pour le guillemet, c'est pire puisque c'est aussi le caractère délimiteur
de chaîne de VBA. Il faut utiliser une instruction du genre:
Replace(TaChaine,"""","""""")
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un des contributeurs (je ne sais plus lequel, je les drague tous....)
qui me permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai
une injure-box 3077 (erreur de syntaxe - opérateur absent dans
l'expression) et le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas
des exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution
acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
--
Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info
Hello Gilles !
Je me permets d'ajouter que, pour rendre le code plus compréhensible et
afin de ne pas se perdre dans les guillemets, on peut utiliser
Chr(34) à la place du doublage de guillemets.
En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :Bonjour, Mission
Pour qu'apostrophes et guillemets soient reconnus en tant que tels dans
une instruction SQL, il faut les doubler.
Tu peux utiliser la fonction Replace pour cela (je crois qu'elle existe
depuis la version 2000). Voila ce que ça donne:
Replace(Me.[lstClients],"'","''")
Comme on ne voit pas très bien, la même avec des espaces en plus
(uniquement pour comprendre le principe!):
Replace(Me.[lstClients]," ' "," ' ' ")
Pour le guillemet, c'est pire puisque c'est aussi le caractère délimiteur
de chaîne de VBA. Il faut utiliser une instruction du genre:
Replace(TaChaine,"""","""""")
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un des contributeurs (je ne sais plus lequel, je les drague tous....)
qui me permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai
une injure-box 3077 (erreur de syntaxe - opérateur absent dans
l'expression) et le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas
des exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution
acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
--
Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info
Salut, Ze Titi
... et taper sept caractères au lieu de deux ?! (sans compter les &)
C'est trop de boulot pour mes petits doigts...;-)
En plus, je serais bien capable de me tromper de code :-(
Plus sérieusement, même si la fonction Chr ne doit pas être celle qui
consomme le plus de ressource, elle n'en reste pas moins une fonction.
Insérée dans une boucle, elle peut contribuer à ralentir le traitement.
Alors, oui à la lisibilité du code mais plutôt grâce aux commentaires. Ceci
dit, dans une instruction ponctuelle, je n'ai rien contre !
Toujours est-il que, quand on se lance dans une écriture un peu compliquée,
il faut un minimum de concentration, comme c'est le cas pour écrire du SQL
dans le code (voir le fil initié par Gundt le 2 avril).
Pour finir, je ne dirai pas que je n'utiliserai pas Chr(34), surtout si tu as
d'autres arguments à mettre à son crédit. Quand je vois comment je codais il
y a 5 ans et comment je code maintenant...
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------Hello Gilles !
Je me permets d'ajouter que, pour rendre le code plus compréhensible et
afin de ne pas se perdre dans les guillemets, on peut utiliser
Chr(34) à la place du doublage de guillemets.
En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :Bonjour, Mission
Pour qu'apostrophes et guillemets soient reconnus en tant que tels dans
une instruction SQL, il faut les doubler.
Tu peux utiliser la fonction Replace pour cela (je crois qu'elle existe
depuis la version 2000). Voila ce que ça donne:
Replace(Me.[lstClients],"'","''")
Comme on ne voit pas très bien, la même avec des espaces en plus
(uniquement pour comprendre le principe!):
Replace(Me.[lstClients]," ' "," ' ' ")
Pour le guillemet, c'est pire puisque c'est aussi le caractère délimiteur
de chaîne de VBA. Il faut utiliser une instruction du genre:
Replace(TaChaine,"""","""""")
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un des contributeurs (je ne sais plus lequel, je les drague tous....)
qui me permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai
une injure-box 3077 (erreur de syntaxe - opérateur absent dans
l'expression) et le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas
des exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
-- Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info
Salut, Ze Titi
... et taper sept caractères au lieu de deux ?! (sans compter les &)
C'est trop de boulot pour mes petits doigts...;-)
En plus, je serais bien capable de me tromper de code :-(
Plus sérieusement, même si la fonction Chr ne doit pas être celle qui
consomme le plus de ressource, elle n'en reste pas moins une fonction.
Insérée dans une boucle, elle peut contribuer à ralentir le traitement.
Alors, oui à la lisibilité du code mais plutôt grâce aux commentaires. Ceci
dit, dans une instruction ponctuelle, je n'ai rien contre !
Toujours est-il que, quand on se lance dans une écriture un peu compliquée,
il faut un minimum de concentration, comme c'est le cas pour écrire du SQL
dans le code (voir le fil initié par Gundt le 2 avril).
Pour finir, je ne dirai pas que je n'utiliserai pas Chr(34), surtout si tu as
d'autres arguments à mettre à son crédit. Quand je vois comment je codais il
y a 5 ans et comment je code maintenant...
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Hello Gilles !
Je me permets d'ajouter que, pour rendre le code plus compréhensible et
afin de ne pas se perdre dans les guillemets, on peut utiliser
Chr(34) à la place du doublage de guillemets.
En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
Bonjour, Mission
Pour qu'apostrophes et guillemets soient reconnus en tant que tels dans
une instruction SQL, il faut les doubler.
Tu peux utiliser la fonction Replace pour cela (je crois qu'elle existe
depuis la version 2000). Voila ce que ça donne:
Replace(Me.[lstClients],"'","''")
Comme on ne voit pas très bien, la même avec des espaces en plus
(uniquement pour comprendre le principe!):
Replace(Me.[lstClients]," ' "," ' ' ")
Pour le guillemet, c'est pire puisque c'est aussi le caractère délimiteur
de chaîne de VBA. Il faut utiliser une instruction du genre:
Replace(TaChaine,"""","""""")
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un des contributeurs (je ne sais plus lequel, je les drague tous....)
qui me permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai
une injure-box 3077 (erreur de syntaxe - opérateur absent dans
l'expression) et le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas
des exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
-- Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info
Salut, Ze Titi
... et taper sept caractères au lieu de deux ?! (sans compter les &)
C'est trop de boulot pour mes petits doigts...;-)
En plus, je serais bien capable de me tromper de code :-(
Plus sérieusement, même si la fonction Chr ne doit pas être celle qui
consomme le plus de ressource, elle n'en reste pas moins une fonction.
Insérée dans une boucle, elle peut contribuer à ralentir le traitement.
Alors, oui à la lisibilité du code mais plutôt grâce aux commentaires. Ceci
dit, dans une instruction ponctuelle, je n'ai rien contre !
Toujours est-il que, quand on se lance dans une écriture un peu compliquée,
il faut un minimum de concentration, comme c'est le cas pour écrire du SQL
dans le code (voir le fil initié par Gundt le 2 avril).
Pour finir, je ne dirai pas que je n'utiliserai pas Chr(34), surtout si tu as
d'autres arguments à mettre à son crédit. Quand je vois comment je codais il
y a 5 ans et comment je code maintenant...
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------Hello Gilles !
Je me permets d'ajouter que, pour rendre le code plus compréhensible et
afin de ne pas se perdre dans les guillemets, on peut utiliser
Chr(34) à la place du doublage de guillemets.
En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :Bonjour, Mission
Pour qu'apostrophes et guillemets soient reconnus en tant que tels dans
une instruction SQL, il faut les doubler.
Tu peux utiliser la fonction Replace pour cela (je crois qu'elle existe
depuis la version 2000). Voila ce que ça donne:
Replace(Me.[lstClients],"'","''")
Comme on ne voit pas très bien, la même avec des espaces en plus
(uniquement pour comprendre le principe!):
Replace(Me.[lstClients]," ' "," ' ' ")
Pour le guillemet, c'est pire puisque c'est aussi le caractère délimiteur
de chaîne de VBA. Il faut utiliser une instruction du genre:
Replace(TaChaine,"""","""""")
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un des contributeurs (je ne sais plus lequel, je les drague tous....)
qui me permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai
une injure-box 3077 (erreur de syntaxe - opérateur absent dans
l'expression) et le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas
des exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
-- Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info
Salut, Ze Titi
... et taper sept caractères au lieu de deux ?! (sans compter les &)
C'est trop de boulot pour mes petits doigts...;-)
En plus, je serais bien capable de me tromper de code :-(
Plus sérieusement, même si la fonction Chr ne doit pas être celle qui
consomme le plus de ressource, elle n'en reste pas moins une fonction.
Insérée dans une boucle, elle peut contribuer à ralentir le traitement.
Alors, oui à la lisibilité du code mais plutôt grâce aux commentaires.
Ceci dit, dans une instruction ponctuelle, je n'ai rien contre !
Toujours est-il que, quand on se lance dans une écriture un peu
compliquée, il faut un minimum de concentration, comme c'est le cas pour
écrire du SQL dans le code (voir le fil initié par Gundt le 2 avril).
Pour finir, je ne dirai pas que je n'utiliserai pas Chr(34), surtout si tu
as d'autres arguments à mettre à son crédit. Quand je vois comment je
codais il y a 5 ans et comment je code maintenant...
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------Hello Gilles !
Je me permets d'ajouter que, pour rendre le code plus compréhensible et
afin de ne pas se perdre dans les guillemets, on peut utiliser
Chr(34) à la place du doublage de guillemets.
En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :Bonjour, Mission
Pour qu'apostrophes et guillemets soient reconnus en tant que tels dans
une instruction SQL, il faut les doubler.
Tu peux utiliser la fonction Replace pour cela (je crois qu'elle existe
depuis la version 2000). Voila ce que ça donne:
Replace(Me.[lstClients],"'","''")
Comme on ne voit pas très bien, la même avec des espaces en plus
(uniquement pour comprendre le principe!):
Replace(Me.[lstClients]," ' "," ' ' ")
Pour le guillemet, c'est pire puisque c'est aussi le caractère
délimiteur de chaîne de VBA. Il faut utiliser une instruction du genre:
Replace(TaChaine,"""","""""")
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un des contributeurs (je ne sais plus lequel, je les drague tous....)
qui me permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai
une injure-box 3077 (erreur de syntaxe - opérateur absent dans
l'expression) et le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas
des exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution
acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
--
Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info
Salut, Ze Titi
... et taper sept caractères au lieu de deux ?! (sans compter les &)
C'est trop de boulot pour mes petits doigts...;-)
En plus, je serais bien capable de me tromper de code :-(
Plus sérieusement, même si la fonction Chr ne doit pas être celle qui
consomme le plus de ressource, elle n'en reste pas moins une fonction.
Insérée dans une boucle, elle peut contribuer à ralentir le traitement.
Alors, oui à la lisibilité du code mais plutôt grâce aux commentaires.
Ceci dit, dans une instruction ponctuelle, je n'ai rien contre !
Toujours est-il que, quand on se lance dans une écriture un peu
compliquée, il faut un minimum de concentration, comme c'est le cas pour
écrire du SQL dans le code (voir le fil initié par Gundt le 2 avril).
Pour finir, je ne dirai pas que je n'utiliserai pas Chr(34), surtout si tu
as d'autres arguments à mettre à son crédit. Quand je vois comment je
codais il y a 5 ans et comment je code maintenant...
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Hello Gilles !
Je me permets d'ajouter que, pour rendre le code plus compréhensible et
afin de ne pas se perdre dans les guillemets, on peut utiliser
Chr(34) à la place du doublage de guillemets.
En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :
Bonjour, Mission
Pour qu'apostrophes et guillemets soient reconnus en tant que tels dans
une instruction SQL, il faut les doubler.
Tu peux utiliser la fonction Replace pour cela (je crois qu'elle existe
depuis la version 2000). Voila ce que ça donne:
Replace(Me.[lstClients],"'","''")
Comme on ne voit pas très bien, la même avec des espaces en plus
(uniquement pour comprendre le principe!):
Replace(Me.[lstClients]," ' "," ' ' ")
Pour le guillemet, c'est pire puisque c'est aussi le caractère
délimiteur de chaîne de VBA. Il faut utiliser une instruction du genre:
Replace(TaChaine,"""","""""")
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------
Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un des contributeurs (je ne sais plus lequel, je les drague tous....)
qui me permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai
une injure-box 3077 (erreur de syntaxe - opérateur absent dans
l'expression) et le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas
des exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution
acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
--
Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info
Salut, Ze Titi
... et taper sept caractères au lieu de deux ?! (sans compter les &)
C'est trop de boulot pour mes petits doigts...;-)
En plus, je serais bien capable de me tromper de code :-(
Plus sérieusement, même si la fonction Chr ne doit pas être celle qui
consomme le plus de ressource, elle n'en reste pas moins une fonction.
Insérée dans une boucle, elle peut contribuer à ralentir le traitement.
Alors, oui à la lisibilité du code mais plutôt grâce aux commentaires.
Ceci dit, dans une instruction ponctuelle, je n'ai rien contre !
Toujours est-il que, quand on se lance dans une écriture un peu
compliquée, il faut un minimum de concentration, comme c'est le cas pour
écrire du SQL dans le code (voir le fil initié par Gundt le 2 avril).
Pour finir, je ne dirai pas que je n'utiliserai pas Chr(34), surtout si tu
as d'autres arguments à mettre à son crédit. Quand je vois comment je
codais il y a 5 ans et comment je code maintenant...
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------Hello Gilles !
Je me permets d'ajouter que, pour rendre le code plus compréhensible et
afin de ne pas se perdre dans les guillemets, on peut utiliser
Chr(34) à la place du doublage de guillemets.
En ce jour mémorable du mercredi 04/04/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :Bonjour, Mission
Pour qu'apostrophes et guillemets soient reconnus en tant que tels dans
une instruction SQL, il faut les doubler.
Tu peux utiliser la fonction Replace pour cela (je crois qu'elle existe
depuis la version 2000). Voila ce que ça donne:
Replace(Me.[lstClients],"'","''")
Comme on ne voit pas très bien, la même avec des espaces en plus
(uniquement pour comprendre le principe!):
Replace(Me.[lstClients]," ' "," ' ' ")
Pour le guillemet, c'est pire puisque c'est aussi le caractère
délimiteur de chaîne de VBA. Il faut utiliser une instruction du genre:
Replace(TaChaine,"""","""""")
C'est mieux ?
--
Bonne continuation
-------------------------------------------------------------------------------------------
http://www.mpfa.info : c'est bonheur pour ton ordinateur !
-------------------------------------------------------------------------------------------Bonjour tout le monde,
Sur Access2000, j'utilise une procédure honteusement pompée sur le site
d'un des contributeurs (je ne sais plus lequel, je les drague tous....)
qui me permet de choisir une fiche à l'aide d'un contrôle indépendant :
Private Sub lstClients_AfterUpdate()
If Me.lstClients = Null Then Exit Sub
Dim Rs As Object
Set Rs = Me.Recordset.Clone
Rs.FindFirst "[Client] = '" & Me.[lstClients] & "'"
Me.Bookmark = Rs.Bookmark
End Sub
Si le nom choisi dans la liste déroulante comporte une apostrophe, j'ai
une injure-box 3077 (erreur de syntaxe - opérateur absent dans
l'expression) et le débogage pointe sur la ligne Rs.FindFirst....
Comment puis-je contourner ce problème, car les apostrophes ne sont pas
des exceptions dans les noms propres.
Et je ne suis pas sûr que dépasser l'erreur soit une solution
acceptable.
Merci d'avance pour votre aide.
Cordialement
PG
--
Cordialement,
Ze Titi
Tout pour réussir avec Access :
http://www.mpfa.info