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
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|