apostrophe dans recherche vba - VB/VBA/VBS - Programmation
Marsh Posté le 25-04-2006 à 14:41:04
La solution est simple,il suffit de doubler l'apostrophe. Le gestionnaire SQL comprendra qu'il s'agit du caractère apostrophe et ne ferra plus d'erreur.
Au lieu de passer comme parametre a ta requete : "Site d'Arras" il faut lui passer "Site d''Arras" et ca fonctionera.
tu peux utiliser la fonction Replace() pour ca!
Code :
|
Bon Courage
Marco
Marsh Posté le 25-04-2006 à 14:19:03
salut je dois faire une recherche en vba, mais certaines données de ma recherche comporte une apostrophe
Le code fonctionne mais dès que je souhaite écrire "site d'amiens" ou "site d'arras", mon programme bug à cause de cette apostrophe
voici mon code, si qq peut me venir en aide, je lui en suis très reconnaissante !
Private Sub Commande5_Click()
Dim db As Database
Dim rs As Recordset
Dim chainesql, chaine, recherche As String
'ouverture de la base de données
Set db = CurrentDb
'Ouverture d'une boîte message dans laquelle l'utilisateur va saisir le nom de l'étape qu'il recherche
recherche = InputBox("Saisissez le nom de l'étape ou du passage que vous recherchez : " )
chainesql = "SELECT NumEtape, NomEtape FROM Table1 WHERE Table1.NomEtape Like '*" & recherche & "*'"
'ouverture du recordset
Set rs = db.OpenRecordset(chainesql)
chaine = ""
'si l'utilisateur n'a saisi aucune valeur
If recherche = "" Then
MsgBox ("vous n'avez saisi aucune valeur" )
Else
'si l'utilisateur a saisi une mauvaise valeur / la valeur n'a pas été trouvée
If rs.EOF = True Then
MsgBox ("Nous n'avons trouvé aucune étape correspondant à " & recherche)
Else
'la valeur a été trouvée
rs.MoveFirst
Do While rs.EOF = False
chaine = chaine & rs!NumEtape & " " & rs!NomEtape & vbCrLf
rs.MoveNext
Loop
'affichage des valeurs dans une boîte message
MsgBox (chaine)
End If
End If
End Sub