Tom's Guide > Forum > Programmation > problème requête SQL VBA [resolu]

problème requête SQL VBA [resolu]

Forum Programmation : problème requête SQL VBA [resolu]

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Salut à tous, j'ai un petit concernant l'exécution de ma requête SQL qui interroge ma base ACCESS

Parmis les modèles de véhicule que je recherche j'ai la KIA CEE'D mais comme vous pouvez le constater dans CEE'D il y a un ' donc dans ma requête.... il n'arrive pas à trouver ce modèle

l'erreur qu'il m'indique est : Erreur de syntaxe (opérateur absent) dans l'expression '(((MARQUE.Marque)='KIA') AND ((MODELE.Modele)='CEED'D') AND ((GENRE.Genre)='VP'));'

le ' pose problème. Alors comment éviter qu'il ne prenne ce ' comme une balise.

Voici le code

Code :
  1. For J = 35000 To 36000
  2.     'On Error Resume Next
  3.     'Requête SQL2
  4.     val = Sheets("IMMATs Modèle VP" ).Range("C" & J).Text
  5.     val2 = Sheets("IMMATs Modèle VP" ).Range("D" & J).Text
  6.     val3 = Sheets("IMMATs Modèle VP" ).Range("E" & J).Text
  7.     strSql = "SELECT DISTINCT Modele.Id_Modele FROM Genre INNER JOIN (MARQUE INNER JOIN Modele ON MARQUE.Id_Marque = Modele.Id_Marque) ON Genre.Id_Genre = Modele.Id_Genre WHERE (((MARQUE.Marque)=" & "'" & val & "'" & " ) AND ((Modele.Modele)=" & "'" & val2 & "'" & " ) AND ((Genre.Genre)=" & "'" & val3 & "'" & " ));"
  8.     'Ouverture du jeu d'enregistrements.
  9.     Set rst = New ADODB.Recordset
  10.     'Paramètres de Résultat de la Requête
  11.     With rst
  12.         .Open Source:=strSql, _
  13.         ActiveConnection:=cn, _
  14.         CursorType:=adOpenForwardOnly, _
  15.         LockType:=adLockReadOnly
  16.     End With



Merci d'avance pout votre aide


Message édité par teamrenault le 25-05-2007 à 13:38:51
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

dim toto as string
toto="to'to"
toto=Replace(toto," ' "," \ ' " )

(j'ai rajouté des espaces dans les 2 derniers parametres de Replace (pour la lisibilité))


Message édité par elendilm le 25-05-2007 à 13:27:13
Répondre à elendilm

Niquel merci beaucoup elendilm. je connaissais pas cette fonction replace mais pk as tu mis un \?

moi j'ai mis :
val2 = Replace(val2, " ' ", " ' ' " )

Merci encore

Répondre à teamrenault

pour despecialiser le caractere.

J'ai beaucoup d'expérience en C* (c/c++ ...) et le caractere de despecialisation est le "\" ...

en VBA, je suis 1 peu plus limité. Requete, organisation de tableaux, de stats ... il semble donc qu'il faille mettre 2 ' pour les requetes SQL... comme ça, je le saurai!

Répondre à elendilm
Tom's Guide > Forum > Programmation > problème requête SQL VBA [resolu]
Aller à :

Il y a 2613 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens