Alain MENARD wrote: > salut, > > Une requête plante à cause d'une apostrophe. > > option explicit > Private vTheme As String > ... > > Private Sub Liste_ItemClick(ByVal item As MSComctlLib.ListItem) > vTheme = Liste.SelectedItem > End Sub > > Private Sub SupprimerTheme_Click() > ... > Set rstItemListe = New ADODB.Recordset > strSQL2 = "Delete * From themes where [Theme]='" & > vTheme & "'" ... > > hors le texte est (toute la ligne suivante) : > Arts : Arts et métiers d'art > > Une idée ? Merci !
Super. C'est très bon à savoir cette astuce.
Merci François.
--
Amicalement
Alain
Pour me joindre : amenard@vision-tech.fr
"François Picalausa" <fpicalausa@chez.com> a écrit dans le message de
news:%23w2XNy5RDHA.2188@TK2MSFTNGP10.phx.gbl...
Bonjour/soir
Essaye comme ceci:
strSQL2 = "Delete * From themes where [Theme]='" &
Alain MENARD wrote:
> salut,
>
> Une requête plante à cause d'une apostrophe.
>
> option explicit
> Private vTheme As String
> ...
>
> Private Sub Liste_ItemClick(ByVal item As MSComctlLib.ListItem)
> vTheme = Liste.SelectedItem
> End Sub
>
> Private Sub SupprimerTheme_Click()
> ...
> Set rstItemListe = New ADODB.Recordset
> strSQL2 = "Delete * From themes where [Theme]='" &
> vTheme & "'" ...
>
> hors le texte est (toute la ligne suivante) :
> Arts : Arts et métiers d'art
>
> Une idée ? Merci !
Alain MENARD wrote: > salut, > > Une requête plante à cause d'une apostrophe. > > option explicit > Private vTheme As String > ... > > Private Sub Liste_ItemClick(ByVal item As MSComctlLib.ListItem) > vTheme = Liste.SelectedItem > End Sub > > Private Sub SupprimerTheme_Click() > ... > Set rstItemListe = New ADODB.Recordset > strSQL2 = "Delete * From themes where [Theme]='" & > vTheme & "'" ... > > hors le texte est (toute la ligne suivante) : > Arts : Arts et métiers d'art > > Une idée ? Merci !
blancmunier1
essaie
strSQL2 = "Delete * From themes where [Theme]='" & vTheme & "'"
avec : Public Function EnleverCotes(s As Variant) As String Dim nbCarIni As Integer Dim I As Integer
nbCarIni = Len(s) EnleverCotes = s For I = 1 To nbCarIni If Right(Left(s, I), 1) = "'" Then EnleverCotes = Left(s, I - 1) & "'||Chr(39)||'" & Right(s, nbCarIni - I) End If Next I End Function
ca marche sous Oracle...(ms peut-être pr tout SGBD) sous access je crois qu'il faut doubler la cote, dc :
Public Function EnleverCotes(s As Variant) As String Dim nbCarIni As Integer Dim I As Integer
nbCarIni = Len(s) EnleverCotes = s For I = 1 To nbCarIni If Right(Left(s, I), 1) = "'" Then EnleverCotes = Left(s, I - 1) & "''" & Right(s, nbCarIni - I) End If Next I End Function
Yvan
essaie
strSQL2 = "Delete * From themes where [Theme]='" & vTheme & "'"
avec :
Public Function EnleverCotes(s As Variant) As String
Dim nbCarIni As Integer
Dim I As Integer
nbCarIni = Len(s)
EnleverCotes = s
For I = 1 To nbCarIni
If Right(Left(s, I), 1) = "'" Then
EnleverCotes = Left(s, I - 1) & "'||Chr(39)||'" & Right(s, nbCarIni - I)
End If
Next I
End Function
ca marche sous Oracle...(ms peut-être pr tout SGBD)
sous access je crois qu'il faut doubler la cote,
dc :
Public Function EnleverCotes(s As Variant) As String
Dim nbCarIni As Integer
Dim I As Integer
nbCarIni = Len(s)
EnleverCotes = s
For I = 1 To nbCarIni
If Right(Left(s, I), 1) = "'" Then
EnleverCotes = Left(s, I - 1) & "''" & Right(s, nbCarIni - I)
End If
Next I
End Function
strSQL2 = "Delete * From themes where [Theme]='" & vTheme & "'"
avec : Public Function EnleverCotes(s As Variant) As String Dim nbCarIni As Integer Dim I As Integer
nbCarIni = Len(s) EnleverCotes = s For I = 1 To nbCarIni If Right(Left(s, I), 1) = "'" Then EnleverCotes = Left(s, I - 1) & "'||Chr(39)||'" & Right(s, nbCarIni - I) End If Next I End Function
ca marche sous Oracle...(ms peut-être pr tout SGBD) sous access je crois qu'il faut doubler la cote, dc :
Public Function EnleverCotes(s As Variant) As String Dim nbCarIni As Integer Dim I As Integer
nbCarIni = Len(s) EnleverCotes = s For I = 1 To nbCarIni If Right(Left(s, I), 1) = "'" Then EnleverCotes = Left(s, I - 1) & "''" & Right(s, nbCarIni - I) End If Next I End Function
Yvan
Alain MENARD
Merci. encore très bien
--
Amicalement
Alain
Pour me joindre :
"Bluesy @caramail.com>" <bluesy49<ANTISPAM> a écrit dans le message de news:
Bonjour Alain
Voiçi une ch'tite fonction maison, que j'utilise systématiquement dès que
du
SQL entre en jeu
Public Function DoubleQuote(ByVal Chaine As String) As String Chaine = Replace$(Chaine, Chr$(39), Chr$(39) & Chr$(39)) Chaine = Replace$(Chaine, Chr$(34), Chr$(34) & Chr$(34)) DoubleQuote = Chaine End Function
Ca gère les cotes et les guillemets... comme ça, pas de souci...
Bonne prog à toi :=)
Bluesy
Un certain Alain MENARD écrivait ici même ce qui suit:
> salut, > > Une requête plante à cause d'une apostrophe. > > option explicit > Private vTheme As String > ... > > Private Sub Liste_ItemClick(ByVal item As MSComctlLib.ListItem) > vTheme = Liste.SelectedItem > End Sub > > Private Sub SupprimerTheme_Click() > ... > Set rstItemListe = New ADODB.Recordset > strSQL2 = "Delete * From themes where [Theme]='" & vTheme & > "'" ... > > hors le texte est (toute la ligne suivante) : > Arts : Arts et métiers d'art > > Une idée ? Merci !
Merci. encore très bien
--
Amicalement
Alain
Pour me joindre : amenard@vision-tech.fr
"Bluesy @caramail.com>" <bluesy49<ANTISPAM> a écrit dans le message de
news:Xns93B5954C7106DBluesy@195.34.132.71...
Bonjour Alain
Voiçi une ch'tite fonction maison, que j'utilise systématiquement dès que
du
SQL entre en jeu
Public Function DoubleQuote(ByVal Chaine As String) As String
Chaine = Replace$(Chaine, Chr$(39), Chr$(39) & Chr$(39))
Chaine = Replace$(Chaine, Chr$(34), Chr$(34) & Chr$(34))
DoubleQuote = Chaine
End Function
Ca gère les cotes et les guillemets... comme ça, pas de souci...
Bonne prog à toi :=)
Bluesy
Un certain Alain MENARD écrivait ici même ce qui suit:
> salut,
>
> Une requête plante à cause d'une apostrophe.
>
> option explicit
> Private vTheme As String
> ...
>
> Private Sub Liste_ItemClick(ByVal item As MSComctlLib.ListItem)
> vTheme = Liste.SelectedItem
> End Sub
>
> Private Sub SupprimerTheme_Click()
> ...
> Set rstItemListe = New ADODB.Recordset
> strSQL2 = "Delete * From themes where [Theme]='" & vTheme &
> "'" ...
>
> hors le texte est (toute la ligne suivante) :
> Arts : Arts et métiers d'art
>
> Une idée ? Merci !
"Bluesy @caramail.com>" <bluesy49<ANTISPAM> a écrit dans le message de news:
Bonjour Alain
Voiçi une ch'tite fonction maison, que j'utilise systématiquement dès que
du
SQL entre en jeu
Public Function DoubleQuote(ByVal Chaine As String) As String Chaine = Replace$(Chaine, Chr$(39), Chr$(39) & Chr$(39)) Chaine = Replace$(Chaine, Chr$(34), Chr$(34) & Chr$(34)) DoubleQuote = Chaine End Function
Ca gère les cotes et les guillemets... comme ça, pas de souci...
Bonne prog à toi :=)
Bluesy
Un certain Alain MENARD écrivait ici même ce qui suit:
> salut, > > Une requête plante à cause d'une apostrophe. > > option explicit > Private vTheme As String > ... > > Private Sub Liste_ItemClick(ByVal item As MSComctlLib.ListItem) > vTheme = Liste.SelectedItem > End Sub > > Private Sub SupprimerTheme_Click() > ... > Set rstItemListe = New ADODB.Recordset > strSQL2 = "Delete * From themes where [Theme]='" & vTheme & > "'" ... > > hors le texte est (toute la ligne suivante) : > Arts : Arts et métiers d'art > > Une idée ? Merci !