Accueil > Forum > > > > P.... d'apostrophe
P.... d'apostrophe
mercredi 26 juin 2002 à 08:25:20 |
P.... d'apostrophe

Bagbones
|
Bonjour, je tente désespérement de passer un argument contenant un apostrophe à une requête SQL, mais ca plante (opérateur absent), voila l'un des codes que j'ai essayé : If (Princ.Combo17.Text <> "") Then std = DoubleCote(Princ.Combo17.Text) Set mag = New Recordset mag.Open "select telemag from magasins where Region ='" & _ Princ.Combo16.Text & "' and Villemag ='" & Princ.Combo15.Text & _ "' and Adressemag =" & std, conmag, adOpenDynamic telmag = mag!Telemag mag.Close End If 'Fonction reprise sur http://docvb.free.fr/ ' A noter que depuis VB6 un simple Replace( stTXT, "'", "''") suffit. Public Function DoubleCote(ByVal stTXT As String) As String ' Reçoit une chaîne et double les apostrophes qui se trouvent à l'intérieur... Dim lgPos As Long Dim stTMP As String stTMP = stTXT ' On cherche la position dans la chaîne de la première apostrophe lgPos = InStr(stTMP, "'") ' Tant qu'il y a des apostrophes dans la chaîne... Do While lgPos > 0 ' Chaîne = début de la chaîne (apostrophe comprise) + "'" + fin de la chaîne stTMP = Left$(stTMP, lgPos) & "'" & Right$(stTMP, Len(stTMP) - lgPos) ' On cherche la position de l'apostrophe suivante lgPos = InStr(lgPos + 2, stTMP, "'") Loop ' Renvoie la chaîne modifiée DoubleCote = Trim(stTMP) End Function voila, je sais qu'il faut remplaceer l'apostrophe par une double apostrophe, et c'est ce que fait trés bien cette fonction, mais ma requête plante quand même, alors QUID? Merci, Bagbones
|
|
mercredi 26 juin 2002 à 09:57:15 |
Re : P.... d'apostrophe

nariel1
|
essaye plutot ca Public Function CheckForQuote(str As String) If str = "" Then CheckForQuote = "" Exit Function End If Dim lPos As Long Dim slPos1 As Long lPos = 1
Do While lPos <> 0 slPos1 = InStr(lPos, str, "'")
If slPos1 > 0 Then str = Mid(str, 1, slPos1) & "'" & _ Mid(str, slPos1 + 1, Len(str) - slPos1) lPos = InStr(slPos1 + 1, str, "'") + 1 Else lPos = 0 End If Loop CheckForQuote = str End Function nariel1
------------------------------- Réponse au message : -------------------------------
Bonjour,
je tente désespérement de passer un argument contenant un apostrophe à une requête SQL, mais ca plante (opérateur absent), voila l'un des codes que j'ai essayé :
If (Princ.Combo17.Text <> "") Then std = DoubleCote(Princ.Combo17.Text) Set mag = New Recordset mag.Open "select telemag from magasins where Region ='" & _ Princ.Combo16.Text & "' and Villemag ='" & Princ.Combo15.Text & _ "' and Adressemag =" & std, conmag, adOpenDynamic
telmag = mag!Telemag mag.Close End If
'Fonction reprise sur http://docvb.free.fr/
' A noter que depuis VB6 un simple Replace( stTXT, "'", "''") suffit. Public Function DoubleCote(ByVal stTXT As String) As String ' Reçoit une chaîne et double les apostrophes qui se trouvent à l'intérieur... Dim lgPos As Long Dim stTMP As String stTMP = stTXT ' On cherche la position dans la chaîne de la première apostrophe lgPos = InStr(stTMP, "'") ' Tant qu'il y a des apostrophes dans la chaîne... Do While lgPos > 0 ' Chaîne = début de la chaîne (apostrophe comprise) + "'" + fin de la chaîne stTMP = Left$(stTMP, lgPos) & "'" & Right$(stTMP, Len(stTMP) - lgPos) ' On cherche la position de l'apostrophe suivante lgPos = InStr(lgPos + 2, stTMP, "'") Loop ' Renvoie la chaîne modifiée DoubleCote = Trim(stTMP) End Function
voila, je sais qu'il faut remplaceer l'apostrophe par une double apostrophe, et c'est ce que fait trés bien cette fonction, mais ma requête plante quand même, alors QUID?
Merci, Bagbones
|
|
mercredi 26 juin 2002 à 09:59:11 |
Re : P.... d'apostrophe

DeathAngel
|
Salut ! Bah si tu m'offres le café, je te le dit =D bon, regarde : "' and Adressemag =" & std, conmag, adOpenDynamic si tu le remplace par : "' and Adressemag ='" & std & "'", conmag, adOpenDynamic ca va de suite mieux marcher  @peluche et bon dev' DA ------------------------------- Réponse au message : ------------------------------- Bonjour, je tente désespérement de passer un argument contenant un apostrophe à une requête SQL, mais ca plante (opérateur absent), voila l'un des codes que j'ai essayé : If (Princ.Combo17.Text <> "") Then std = DoubleCote(Princ.Combo17.Text) Set mag = New Recordset mag.Open "select telemag from magasins where Region ='" & _ Princ.Combo16.Text & "' and Villemag ='" & Princ.Combo15.Text & _ "' and Adressemag =" & std, conmag, adOpenDynamic telmag = mag!Telemag mag.Close End If 'Fonction reprise sur http://docvb.free.fr/ ' A noter que depuis VB6 un simple Replace( stTXT, "'", "''") suffit. Public Function DoubleCote(ByVal stTXT As String) As String ' Reçoit une chaîne et double les apostrophes qui se trouvent à l'intérieur... Dim lgPos As Long Dim stTMP As String stTMP = stTXT ' On cherche la position dans la chaîne de la première apostrophe lgPos = InStr(stTMP, "'") ' Tant qu'il y a des apostrophes dans la chaîne... Do While lgPos > 0 ' Chaîne = début de la chaîne (apostrophe comprise) + "'" + fin de la chaîne stTMP = Left$(stTMP, lgPos) & "'" & Right$(stTMP, Len(stTMP) - lgPos) ' On cherche la position de l'apostrophe suivante lgPos = InStr(lgPos + 2, stTMP, "'") Loop ' Renvoie la chaîne modifiée DoubleCote = Trim(stTMP) End Function voila, je sais qu'il faut remplaceer l'apostrophe par une double apostrophe, et c'est ce que fait trés bien cette fonction, mais ma requête plante quand même, alors QUID? Merci, Bagbones
|
|
mercredi 26 juin 2002 à 11:52:27 |
Re : P.... d'apostrophe

IAmJerome
|
N'est-ce pas juste que tu as oublié les ' de début et de fin sur "and Adressemag = " & std ? Ce devrait être je pense Adressemag = '" & std & "' "
------------------------------- Réponse au message : -------------------------------
essaye plutot ca Public Function CheckForQuote(str As String) If str = "" Then CheckForQuote = "" Exit Function End If Dim lPos As Long Dim slPos1 As Long lPos = 1
Do While lPos <> 0 slPos1 = InStr(lPos, str, "'")
If slPos1 > 0 Then str = Mid(str, 1, slPos1) & "'" & _ Mid(str, slPos1 + 1, Len(str) - slPos1) lPos = InStr(slPos1 + 1, str, "'") + 1 Else lPos = 0 End If Loop CheckForQuote = str End Function nariel1
------------------------------- Réponse au message : -------------------------------
Bonjour,
je tente désespérement de passer un argument contenant un apostrophe à une requête SQL, mais ca plante (opérateur absent), voila l'un des codes que j'ai essayé :
If (Princ.Combo17.Text <> "") Then std = DoubleCote(Princ.Combo17.Text) Set mag = New Recordset mag.Open "select telemag from magasins where Region ='" & _ Princ.Combo16.Text & "' and Villemag ='" & Princ.Combo15.Text & _ "' and Adressemag =" & std, conmag, adOpenDynamic
telmag = mag!Telemag mag.Close End If
'Fonction reprise sur http://docvb.free.fr/
' A noter que depuis VB6 un simple Replace( stTXT, "'", "''") suffit. Public Function DoubleCote(ByVal stTXT As String) As String ' Reçoit une chaîne et double les apostrophes qui se trouvent à l'intérieur... Dim lgPos As Long Dim stTMP As String stTMP = stTXT ' On cherche la position dans la chaîne de la première apostrophe lgPos = InStr(stTMP, "'") ' Tant qu'il y a des apostrophes dans la chaîne... Do While lgPos > 0 ' Chaîne = début de la chaîne (apostrophe comprise) + "'" + fin de la chaîne stTMP = Left$(stTMP, lgPos) & "'" & Right$(stTMP, Len(stTMP) - lgPos) ' On cherche la position de l'apostrophe suivante lgPos = InStr(lgPos + 2, stTMP, "'") Loop ' Renvoie la chaîne modifiée DoubleCote = Trim(stTMP) End Function
voila, je sais qu'il faut remplaceer l'apostrophe par une double apostrophe, et c'est ce que fait trés bien cette fonction, mais ma requête plante quand même, alors QUID?
Merci, Bagbones
|
|
mercredi 26 juin 2002 à 14:09:51 |
Re : P.... d'apostrophe

Bagbones
|
Désolé nariel1 , il me renvoit : Erreur de syntaxe(operateur absent) dans l'expression 'Region ='nord' and Villemag='Rouen'and Adressemag =' 193 rue d''alempoint'. et le débogage pointe sur le troisième ligne de ma requéte. Mais Merci , Bagbones ------------------------------- Réponse au message : ------------------------------- N'est-ce pas juste que tu as oublié les ' de début et de fin sur "and Adressemag = " & std ? Ce devrait être je pense Adressemag = '" & std & "' " ------------------------------- Réponse au message : ------------------------------- essaye plutot ca Public Function CheckForQuote(str As String) If str = "" Then CheckForQuote = "" Exit Function End If Dim lPos As Long Dim slPos1 As Long lPos = 1 Do While lPos <> 0 slPos1 = InStr(lPos, str, "'") If slPos1 > 0 Then str = Mid(str, 1, slPos1) & "'" & _ Mid(str, slPos1 + 1, Len(str) - slPos1) lPos = InStr(slPos1 + 1, str, "'") + 1 Else lPos = 0 End If Loop CheckForQuote = str End Function nariel1 ------------------------------- Réponse au message : ------------------------------- Bonjour, je tente désespérement de passer un argument contenant un apostrophe à une requête SQL, mais ca plante (opérateur absent), voila l'un des codes que j'ai essayé : If (Princ.Combo17.Text <> "") Then std = DoubleCote(Princ.Combo17.Text) Set mag = New Recordset mag.Open "select telemag from magasins where Region ='" & _ Princ.Combo16.Text & "' and Villemag ='" & Princ.Combo15.Text & _ "' and Adressemag =" & std, conmag, adOpenDynamic telmag = mag!Telemag mag.Close End If 'Fonction reprise sur http://docvb.free.fr/ ' A noter que depuis VB6 un simple Replace( stTXT, "'", "''") suffit. Public Function DoubleCote(ByVal stTXT As String) As String ' Reçoit une chaîne et double les apostrophes qui se trouvent à l'intérieur... Dim lgPos As Long Dim stTMP As String stTMP = stTXT ' On cherche la position dans la chaîne de la première apostrophe lgPos = InStr(stTMP, "'") ' Tant qu'il y a des apostrophes dans la chaîne... Do While lgPos > 0 ' Chaîne = début de la chaîne (apostrophe comprise) + "'" + fin de la chaîne stTMP = Left$(stTMP, lgPos) & "'" & Right$(stTMP, Len(stTMP) - lgPos) ' On cherche la position de l'apostrophe suivante lgPos = InStr(lgPos + 2, stTMP, "'") Loop ' Renvoie la chaîne modifiée DoubleCote = Trim(stTMP) End Function voila, je sais qu'il faut remplaceer l'apostrophe par une double apostrophe, et c'est ce que fait trés bien cette fonction, mais ma requête plante quand même, alors QUID? Merci, Bagbones 
|
|
vendredi 28 juin 2002 à 16:45:21 |
Re : P.... d'apostrophe

pingwee
|
g eu le même blème et g remplacé les " par chr(34) j'espère que ca t'aura aidé ------------------------------- Réponse au message : ------------------------------- Désolé nariel1 , il me renvoit : Erreur de syntaxe(operateur absent) dans l'expression 'Region ='nord' and Villemag='Rouen'and Adressemag =' 193 rue d''alempoint'. et le débogage pointe sur le troisième ligne de ma requéte. Mais Merci , Bagbones ------------------------------- Réponse au message : ------------------------------- N'est-ce pas juste que tu as oublié les ' de début et de fin sur "and Adressemag = " & std ? Ce devrait être je pense Adressemag = '" & std & "' " ------------------------------- Réponse au message : ------------------------------- essaye plutot ca Public Function CheckForQuote(str As String) If str = "" Then CheckForQuote = "" Exit Function End If Dim lPos As Long Dim slPos1 As Long lPos = 1 Do While lPos <> 0 slPos1 = InStr(lPos, str, "'") If slPos1 > 0 Then str = Mid(str, 1, slPos1) & "'" & _ Mid(str, slPos1 + 1, Len(str) - slPos1) lPos = InStr(slPos1 + 1, str, "'") + 1 Else lPos = 0 End If Loop CheckForQuote = str End Function nariel1 ------------------------------- Réponse au message : ------------------------------- Bonjour, je tente désespérement de passer un argument contenant un apostrophe à une requête SQL, mais ca plante (opérateur absent), voila l'un des codes que j'ai essayé : If (Princ.Combo17.Text <> "") Then std = DoubleCote(Princ.Combo17.Text) Set mag = New Recordset mag.Open "select telemag from magasins where Region ='" & _ Princ.Combo16.Text & "' and Villemag ='" & Princ.Combo15.Text & _ "' and Adressemag =" & std, conmag, adOpenDynamic telmag = mag!Telemag mag.Close End If 'Fonction reprise sur http://docvb.free.fr/ ' A noter que depuis VB6 un simple Replace( stTXT, "'", "''") suffit. Public Function DoubleCote(ByVal stTXT As String) As String ' Reçoit une chaîne et double les apostrophes qui se trouvent à l'intérieur... Dim lgPos As Long Dim stTMP As String stTMP = stTXT ' On cherche la position dans la chaîne de la première apostrophe lgPos = InStr(stTMP, "'") ' Tant qu'il y a des apostrophes dans la chaîne... Do While lgPos > 0 ' Chaîne = début de la chaîne (apostrophe comprise) + "'" + fin de la chaîne stTMP = Left$(stTMP, lgPos) & "'" & Right$(stTMP, Len(stTMP) - lgPos) ' On cherche la position de l'apostrophe suivante lgPos = InStr(lgPos + 2, stTMP, "'") Loop ' Renvoie la chaîne modifiée DoubleCote = Trim(stTMP) End Function voila, je sais qu'il faut remplaceer l'apostrophe par une double apostrophe, et c'est ce que fait trés bien cette fonction, mais ma requête plante quand même, alors QUID? Merci, Bagbones 
|
|
Cette discussion est classée dans : chaîne, apostrophe, sttmp, princ, lgpos
Répondre à ce message
Sujets en rapport avec ce message
l'apostrophe dans les requettes SQL [ par oleola ]
Dans une requette SQL, j'ai une variable string. Si cette variable a pourvaleur une chaine de caractères avec à l'intérieur une apostrophe, la requett
Pbl avec remplacement de chaîne [ par TP ]
Je posséde un fichier Texte où je souhaite remplacer une chaîne par une autre. Le seul pbl c que cette chaîne est présente plusieurs fois ds ce fichie
Problemes d'Apostrophe dans base de données [ par domenico ]
Bonjour,Voici mon probleme, lorsque j'entre une saisie comportant un apostrophe dans le champ d'une base de donnee sur un programme vb6, l'enregistrem
gestionde caractere [ par olivier ]
comment gerer l'apostrophe car j'appelle une procedure stockées et je met les carcatere en apostrophe (simple cote) mais des que j'ai une apostrophe j
Apostrophe & FindFirst [ par Beren ]
Bonjour,Je me trouve face à un problème que beaucoup de gens doivent connaître : une apostrophe dans une chaîne de caractère et l'utilisation d'une mé
Apostrophe [ par CHRI ]
Salut,Quand j'utilise la méthode Findfirst (sous Access97) sur une chaine de caracteres contenant une ou plusieurs apostrophes, j'ai systématiquement
recherche d'une chaîne de caractère [ par Cécé ]
Salut à tous,Ceci est un appel urgent.Je veux faire la recherche d'une string tout en laissant possible les erreurs.EXEMPLEje cherche Cé et la réponse
Urgent, gros pb de chaîne de caractère [ par Cécé ]
Salut à tous, je craque alors merci à tous ceux qui m'aideront.J'expique mon problème.J'ai un module de recherche basé sur une chaîne alphanumérik et
Problème sur insert dans base car string entre apostrophe et nom " !!!!! [ par Nitocris ]
Bonjour, J'essaye de renseigner des tables d'une base de donnée ("Sage") via des drivers ODBC et un programme en VBAA partir d'une feuille Excel r
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
ACCES ODBCACCES ODBC par yannickcottin
Cliquez pour lire la suite par yannickcottin
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|