Public Function Correct(ByVal txt As String) As String 'verif des apostrophes If txt.IndexOf("'") > -1 Then Dim str(txt.Length - 1) As String Dim i As Int32 'je vide pour pouvoir remplir aprés For I = 0 To txt.Length - 1 Str(I) = txt.Chars(I) If str(i).ToString = "'" Then str(i) = "`" 'je corrige le texte Next txt = "" For i = 0 To str.Length - 1 txt &= str(i) 'je remets le texte dans sa place Next End If Return txt End Function
oulalalaLa même chose en 1 lignetxt= txt.Replace("'","'")C'est pas optimisé du tout ce que tu fais là
Bin t passé avant moi.J'allais te sugerer la meme chose !!!
Merci les gars pour votre interet , je tiens à rapeller pour ma defense que cette fonction a été ecrit vers 3h du mat donc! Mais pour me faire pardonner cette con.. je déposerais bientot une source completeMerci encore
idem : Text1= Replace(Text1, "'", " ")c'est com même plus facile mais bon chacun sont truc lol++Bonne continuation
Petite rem. : tu peux conserver ton apostrophe au lieu de le remplacer par un espace ou autre chose : tu le doubles, au final il en y aura qu'un dans ta chaine une fois ta requête SQL exécutée.Pour ma part je connaissais pas non plus le Replace (oups ...c'est pourtant basic), donc cool pour l'info.
En fait je pense qu'il ne parle pas de remplacer une apostrophe "standard" mais une apostrophe "à l'envers" par une "vraie apostrophe" Car l'apostrophe "à l'envers" est utilisée dans certains cas et qui posent des pb dans certains cas (j'ai déjà eu le cas).Donc son idée est bonne mais faite à la façon VB5 en .NET car dans VB5 il n'y avait pas de replace si je me souviens bien :p
Ca reste quand meme du pourquoi faire simple quand on peut faire compliqué ^^
+simple ex : Requete selectionDim Source as stringchaine="L'arbre"source=" Select * from toto where name ="+chr(34)+chaine+chr(34)
C koi ce char(34) ?Peut tu donner des details ?
Salut, C'est vrai que j'aurai pu en dire plus....fonction chr()Renvoie une valeur de type String contenant le caractère associé au code de caractère indiqué.34 , c'est le code de ".Tu evites ainsi les combinaison comme "'" ou autre double quote....ansi source=select * from famille where nom="L'arbre"j'espère avoir répondu à ta question.
Ah ok merci bcp
moi j'ai un problème similaire mais que je n'arrive pas à résoudre avec cette fonction : test = "Réservoir d'eau"test = Replace(test, "''", "'")sqlAEP21 = "SELECT Sum([RequêteMontantSubvention1].[Montant1]) AS Total FROM Dossier INNER JOIN RequêteMontantSubvention1 ON [Dossier].[NoDossier]=[RequêteMontantSubvention1].[NoDossier] WHERE ((([Dossier].[NatureGlobaleTravauxAEP])='test'));"Set rs = CurrentDb.OpenRecordset(sqlAEP21)AEP21.Value = rs.Fields(0).Valuers.CloseQuelqu'un peut-il m'aider svp ????
WHERE ((([Dossier].[NatureGlobaleTravauxAEP])='test'));"Tu peux enlever le ; à la fin de ta requete sql.Concue comme ca ta requete va utiliser le mot test pour le Where, il faut uqe tu utilise la variable plutot.
ben j'ai mis sa à la fin de ma requête WHERE ([Dossier].[NatureGlobaleTravauxAEP])= '" & test & "';"mais il y a un message d'erreur : opérateur absent.je suis perdu
WHERE ([Dossier].[NatureGlobaleTravauxAEP] = '" & test & "')"si tu n'englobe pas le test dans les () ca ne sert a rien
PaScript : Editeur de bases de donnéeshttp://multibases.site.voila.fr/index.htmlsqlAEP21 = "SELECT Sum([RequêteMontantSubvention1].[Montant1]) AS Total" sqlAEP21=sqlAEP21 & " FROM Dossier INNER JOIN RequêteMontantSubvention1 ON [Dossier].[NoDossier]=[RequêteMontantSubvention1].[NoDossier]" sqlAEP21=sqlAEP21 & " WHERE ((([Dossier].[NatureGlobaleTravauxAEP]) like " & Chr(34) & "E10" & Chr(34) & "))"Set rs = CurrentDb.OpenRecordset(sqlAEP21)
sqlAEP21 = "SELECT Sum([RequêteMontantSubvention1].[Montant1]) AS Total" sqlAEP21=sqlAEP21 & " FROM Dossier INNER JOIN RequêteMontantSubvention1 ON [Dossier].[NoDossier]=[RequêteMontantSubvention1].[NoDossier]" sqlAEP21=sqlAEP21 & " WHERE ((([Dossier].[NatureGlobaleTravauxAEP]) like " & Chr(34) & test & Chr(34) & "))"Set rs = CurrentDb.OpenRecordset(sqlAEP21)
moi il me mais a un moment (can je veu executer mon programme) "La classe Form1 peut être conçue, mais il ne s'agit pas de la première classe du fichier. Visual Studio requiert que les concepteurs utilisent la première classe du fichier. Déplacez le code de la classe afin qu'il s'agisse de la première classe du fichier et essayez de recharger le concepteur."
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 875 123 membres 32 nouveaux aujourd'hui 16 153 membres club