Pourriez vous m'aider, j'ai une requete SQL : "SELECT * FROM produit WHERE
code = '" & Valeur & "'"
Valeur est une variable de type string, mon prbl c'est que de temps en temps
dans cette variable j'ai un le signe ' du coup ça bug ma requete.
Existe t-il une methode pour indiquer que valeur et un ensemble et que la
requete ne doit pas tenir compte des eventuelles commandes presentes dans
cette variable.
Merci d'avance pour votre aide.
Damien
--
PS: Nous vous remercions de confirmer la bonne réception du présent message.
NEWAC
Technopole de l'Aube
BP3
10902 TROYES cedex
N° Visioconférence : 03 25 49 46 34
T : 03 25 45 18 90
Fax : 03 25 45 18 99
www.newac.fr
Email : newac@newac.fr
Ce message électronique et tous les fichiers attachés qu'il contient sont
confidentiels et destinés exclusivement à l'usage de la personne à laquelle
ils sont adressés. Si vous avez reçu ce message par erreur, merci de le
retourner à son émetteur. La publication, l'usage, la distribution,
l'impression ou la copie non autorisée de ce message et attachements qu'il
contient sont strictement interdits.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
SAISAS
Ci après le code d'une fonction qui double les "". Tu peux faire la même avec des ''.
Public Function Dbl_Quote(ByVal Entree As String) As String Dim i As Integer Dim Sortie, Suite As String
If IsNull(Entree) Then Dbl_Quote = " " Else Suite = Entree Sortie = "" i = InStr(1, Suite, """") Do While i > 0 Sortie = Sortie & Left(Suite, i - 1) & """""" Suite = Mid(Suite, i + 1) i = InStr(1, Suite, """") Loop Sortie = Sortie & Suite Dbl_Quote = Sortie End If
End Function
"util" a écrit :
Bonjour,
Pourriez vous m'aider, j'ai une requete SQL : "SELECT * FROM produit WHERE code = '" & Valeur & "'"
Valeur est une variable de type string, mon prbl c'est que de temps en temps dans cette variable j'ai un le signe ' du coup ça bug ma requete. Existe t-il une methode pour indiquer que valeur et un ensemble et que la requete ne doit pas tenir compte des eventuelles commandes presentes dans cette variable.
Merci d'avance pour votre aide.
Damien
-- PS: Nous vous remercions de confirmer la bonne réception du présent message.
NEWAC Technopole de l'Aube BP3 10902 TROYES cedex
N° Visioconférence : 03 25 49 46 34
T : 03 25 45 18 90 Fax : 03 25 45 18 99
www.newac.fr Email :
Ce message électronique et tous les fichiers attachés qu'il contient sont confidentiels et destinés exclusivement à l'usage de la personne à laquelle ils sont adressés. Si vous avez reçu ce message par erreur, merci de le retourner à son émetteur. La publication, l'usage, la distribution, l'impression ou la copie non autorisée de ce message et attachements qu'il contient sont strictement interdits.
Ci après le code d'une fonction qui double les "". Tu peux faire la même avec
des ''.
Public Function Dbl_Quote(ByVal Entree As String) As String
Dim i As Integer
Dim Sortie, Suite As String
If IsNull(Entree) Then
Dbl_Quote = " "
Else
Suite = Entree
Sortie = ""
i = InStr(1, Suite, """")
Do While i > 0
Sortie = Sortie & Left(Suite, i - 1) & """"""
Suite = Mid(Suite, i + 1)
i = InStr(1, Suite, """")
Loop
Sortie = Sortie & Suite
Dbl_Quote = Sortie
End If
End Function
"util" a écrit :
Bonjour,
Pourriez vous m'aider, j'ai une requete SQL : "SELECT * FROM produit WHERE
code = '" & Valeur & "'"
Valeur est une variable de type string, mon prbl c'est que de temps en temps
dans cette variable j'ai un le signe ' du coup ça bug ma requete.
Existe t-il une methode pour indiquer que valeur et un ensemble et que la
requete ne doit pas tenir compte des eventuelles commandes presentes dans
cette variable.
Merci d'avance pour votre aide.
Damien
--
PS: Nous vous remercions de confirmer la bonne réception du présent message.
NEWAC
Technopole de l'Aube
BP3
10902 TROYES cedex
N° Visioconférence : 03 25 49 46 34
T : 03 25 45 18 90
Fax : 03 25 45 18 99
www.newac.fr
Email : newac@newac.fr
Ce message électronique et tous les fichiers attachés qu'il contient sont
confidentiels et destinés exclusivement à l'usage de la personne à laquelle
ils sont adressés. Si vous avez reçu ce message par erreur, merci de le
retourner à son émetteur. La publication, l'usage, la distribution,
l'impression ou la copie non autorisée de ce message et attachements qu'il
contient sont strictement interdits.
Ci après le code d'une fonction qui double les "". Tu peux faire la même avec des ''.
Public Function Dbl_Quote(ByVal Entree As String) As String Dim i As Integer Dim Sortie, Suite As String
If IsNull(Entree) Then Dbl_Quote = " " Else Suite = Entree Sortie = "" i = InStr(1, Suite, """") Do While i > 0 Sortie = Sortie & Left(Suite, i - 1) & """""" Suite = Mid(Suite, i + 1) i = InStr(1, Suite, """") Loop Sortie = Sortie & Suite Dbl_Quote = Sortie End If
End Function
"util" a écrit :
Bonjour,
Pourriez vous m'aider, j'ai une requete SQL : "SELECT * FROM produit WHERE code = '" & Valeur & "'"
Valeur est une variable de type string, mon prbl c'est que de temps en temps dans cette variable j'ai un le signe ' du coup ça bug ma requete. Existe t-il une methode pour indiquer que valeur et un ensemble et que la requete ne doit pas tenir compte des eventuelles commandes presentes dans cette variable.
Merci d'avance pour votre aide.
Damien
-- PS: Nous vous remercions de confirmer la bonne réception du présent message.
NEWAC Technopole de l'Aube BP3 10902 TROYES cedex
N° Visioconférence : 03 25 49 46 34
T : 03 25 45 18 90 Fax : 03 25 45 18 99
www.newac.fr Email :
Ce message électronique et tous les fichiers attachés qu'il contient sont confidentiels et destinés exclusivement à l'usage de la personne à laquelle ils sont adressés. Si vous avez reçu ce message par erreur, merci de le retourner à son émetteur. La publication, l'usage, la distribution, l'impression ou la copie non autorisée de ce message et attachements qu'il contient sont strictement interdits.
Drizzit
Tu peux faire ceci : Ajouter dans un module la fonction suivante :
Public Function gf_Baser(ByVal vvar_Valeur As Variant) As String Dim str_Res As String On Error GoTo GstErreur
Select Case VarType(vvar_Valeur) Case vbEmpty ' 0 Empty (non initialisée) str_Res = "NULL" Case vbNull ' 1 Null (aucune donnée valide) str_Res = "NULL" Case vbInteger ' 2 Entier str_Res = CStr(vvar_Valeur) Case vbLong ' 3 Entier long str_Res = CStr(vvar_Valeur) Case vbSingle ' 4 Nombre à virgule flottante en simple précision str_Res = CStr(vvar_Valeur) Case vbDouble ' 5 Nombre à virgule flottante en double précision str_Res = CStr(vvar_Valeur) Case vbDate ' 7 Valeur de date ' Pour Access str_Res = "#" & format(vvar_Valeur, "mm/dd/yyyy") & "#" Case vbString ' 8 Chaîne if vvar_Valeur = "" then str_Res = "NULL" else str_Res = "'" & Replace(vvar_Valeur , "'", "''") & "'" end if Case vbObject ' 9 Objet str_Res = "NULL" Case vbError ' 10 Valeur d'erreur str_Res = "NULL" Case vbBoolean ' 11 Valeur booléenne ' Pour Access str_Res = IIf(vvar_Valeur, "TRUE", "FALSE") Case vbVariant ' 12 Variant (utilisée seulement avec destableaux de variants) str_Res = "NULL" Case vbDataObject ' 13 Objet d'accès aux données str_Res = "NULL" Case vbDecimal ' 14 Valeur décimale str_Res = "NULL" Case vbByte ' 17 Octet str_Res = "NULL" Case vbUserDefinedType ' 36 Variant contenant des types définis par l'utilisateur str_Res = "NULL" Case vbArray ' 8192 Tableau str_Res = "NULL" End Select
gf_Baser = str_Res Exit Function GstErreur: MsgBox Err.Number & " - " & Err.Description End Function
et après tu fais cela :
Dim strSQL as string strSQL = "SELECT * FROM produit WHERE code = " & gf_Baser("C'est une valeur avec un caractère ' ")
Tu peux faire ceci :
Ajouter dans un module la fonction suivante :
Public Function gf_Baser(ByVal vvar_Valeur As Variant) As String
Dim str_Res As String
On Error GoTo GstErreur
Select Case VarType(vvar_Valeur)
Case vbEmpty ' 0 Empty (non initialisée)
str_Res = "NULL"
Case vbNull ' 1 Null (aucune donnée valide)
str_Res = "NULL"
Case vbInteger ' 2 Entier
str_Res = CStr(vvar_Valeur)
Case vbLong ' 3 Entier long
str_Res = CStr(vvar_Valeur)
Case vbSingle ' 4 Nombre à virgule flottante en simple
précision
str_Res = CStr(vvar_Valeur)
Case vbDouble ' 5 Nombre à virgule flottante en double
précision
str_Res = CStr(vvar_Valeur)
Case vbDate ' 7 Valeur de date
' Pour Access
str_Res = "#" & format(vvar_Valeur, "mm/dd/yyyy") & "#"
Case vbString ' 8 Chaîne
if vvar_Valeur = "" then
str_Res = "NULL"
else
str_Res = "'" & Replace(vvar_Valeur , "'", "''") & "'"
end if
Case vbObject ' 9 Objet
str_Res = "NULL"
Case vbError ' 10 Valeur d'erreur
str_Res = "NULL"
Case vbBoolean ' 11 Valeur booléenne
' Pour Access
str_Res = IIf(vvar_Valeur, "TRUE", "FALSE")
Case vbVariant ' 12 Variant (utilisée seulement avec
destableaux de variants)
str_Res = "NULL"
Case vbDataObject ' 13 Objet d'accès aux données
str_Res = "NULL"
Case vbDecimal ' 14 Valeur décimale
str_Res = "NULL"
Case vbByte ' 17 Octet
str_Res = "NULL"
Case vbUserDefinedType ' 36 Variant contenant des types définis
par l'utilisateur
str_Res = "NULL"
Case vbArray ' 8192 Tableau
str_Res = "NULL"
End Select
gf_Baser = str_Res
Exit Function
GstErreur:
MsgBox Err.Number & " - " & Err.Description
End Function
et après tu fais cela :
Dim strSQL as string
strSQL = "SELECT * FROM produit WHERE code = " & gf_Baser("C'est une
valeur avec un caractère ' ")
Tu peux faire ceci : Ajouter dans un module la fonction suivante :
Public Function gf_Baser(ByVal vvar_Valeur As Variant) As String Dim str_Res As String On Error GoTo GstErreur
Select Case VarType(vvar_Valeur) Case vbEmpty ' 0 Empty (non initialisée) str_Res = "NULL" Case vbNull ' 1 Null (aucune donnée valide) str_Res = "NULL" Case vbInteger ' 2 Entier str_Res = CStr(vvar_Valeur) Case vbLong ' 3 Entier long str_Res = CStr(vvar_Valeur) Case vbSingle ' 4 Nombre à virgule flottante en simple précision str_Res = CStr(vvar_Valeur) Case vbDouble ' 5 Nombre à virgule flottante en double précision str_Res = CStr(vvar_Valeur) Case vbDate ' 7 Valeur de date ' Pour Access str_Res = "#" & format(vvar_Valeur, "mm/dd/yyyy") & "#" Case vbString ' 8 Chaîne if vvar_Valeur = "" then str_Res = "NULL" else str_Res = "'" & Replace(vvar_Valeur , "'", "''") & "'" end if Case vbObject ' 9 Objet str_Res = "NULL" Case vbError ' 10 Valeur d'erreur str_Res = "NULL" Case vbBoolean ' 11 Valeur booléenne ' Pour Access str_Res = IIf(vvar_Valeur, "TRUE", "FALSE") Case vbVariant ' 12 Variant (utilisée seulement avec destableaux de variants) str_Res = "NULL" Case vbDataObject ' 13 Objet d'accès aux données str_Res = "NULL" Case vbDecimal ' 14 Valeur décimale str_Res = "NULL" Case vbByte ' 17 Octet str_Res = "NULL" Case vbUserDefinedType ' 36 Variant contenant des types définis par l'utilisateur str_Res = "NULL" Case vbArray ' 8192 Tableau str_Res = "NULL" End Select
gf_Baser = str_Res Exit Function GstErreur: MsgBox Err.Number & " - " & Err.Description End Function
et après tu fais cela :
Dim strSQL as string strSQL = "SELECT * FROM produit WHERE code = " & gf_Baser("C'est une valeur avec un caractère ' ")
jean-marc
<util> wrote in message news:#
Bonjour,
Pourriez vous m'aider, j'ai une requete SQL : "SELECT * FROM produit WHERE code = '" & Valeur & "'"
Valeur est une variable de type string, mon prbl c'est que de temps en
temps
dans cette variable j'ai un le signe ' du coup ça bug ma requete. Existe t-il une methode pour indiquer que valeur et un ensemble et que la requete ne doit pas tenir compte des eventuelles commandes presentes dans cette variable.
Hello,
Il n'existe pas de méthodes SQL pour cela. En revanche, ce qu'on fait souvent, c'est de doubler les simples quotes éventuelles dans Valeur avant de faire la requête. En VB, on ferait:
Valeur = Replace(Valeur, "'", "''")
-- Jean-marc Tester mon serveur (VB6) => http://myjmnhome.dyndns.org "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
<util> wrote in message news:#j1oJk1GGHA.2680@TK2MSFTNGP09.phx.gbl...
Bonjour,
Pourriez vous m'aider, j'ai une requete SQL : "SELECT * FROM produit WHERE
code = '" & Valeur & "'"
Valeur est une variable de type string, mon prbl c'est que de temps en
temps
dans cette variable j'ai un le signe ' du coup ça bug ma requete.
Existe t-il une methode pour indiquer que valeur et un ensemble et que la
requete ne doit pas tenir compte des eventuelles commandes presentes dans
cette variable.
Hello,
Il n'existe pas de méthodes SQL pour cela. En revanche,
ce qu'on fait souvent, c'est de doubler les simples
quotes éventuelles dans Valeur avant de faire la requête.
En VB, on ferait:
Valeur = Replace(Valeur, "'", "''")
--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
Pourriez vous m'aider, j'ai une requete SQL : "SELECT * FROM produit WHERE code = '" & Valeur & "'"
Valeur est une variable de type string, mon prbl c'est que de temps en
temps
dans cette variable j'ai un le signe ' du coup ça bug ma requete. Existe t-il une methode pour indiquer que valeur et un ensemble et que la requete ne doit pas tenir compte des eventuelles commandes presentes dans cette variable.
Hello,
Il n'existe pas de méthodes SQL pour cela. En revanche, ce qu'on fait souvent, c'est de doubler les simples quotes éventuelles dans Valeur avant de faire la requête. En VB, on ferait:
Valeur = Replace(Valeur, "'", "''")
-- Jean-marc Tester mon serveur (VB6) => http://myjmnhome.dyndns.org "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;