IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Erreur de syntaxe dans une requête


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 276
    Points : 83
    Points
    83
    Par défaut Erreur de syntaxe dans une requête
    Bonjour a tous, désolé si je vous embête avec ce post mais vraiment j'ai cherché la solution et en vain et puisque le temps presse je me suis dirigé vers vous car je suis sur que j'aurais ce que j'ai besoin.
    En fait, mon problème est banale mais puisque je ne travaille pas avec Access, j'ai eu du mal à le manipuler.
    Je suis sur Access 2003, j'ai cette requête entre 3 tables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT JOURNALDB.TYPEOP, JOURNALDB.DATEOP, T_MEDIC.CIP, T_MEDIC.NOM, T_MEDIC.VIRTUEL, T_MEDIC.HOSP, T_MEDIC.DISPO
    FROM (GSP_GENERIQUE_SPECIALITE INNER JOIN T_MEDIC ON GSP_GENERIQUE_SPECIALITE.GSP_CODE_VIRTUEL = T_MEDIC.CIP)
     INNER JOIN JOURNALDB ON GSP_GENERIQUE_SPECIALITE.GSP_CODE_SQ_PK = REPLACE(JOURNALDB.PKEY, "GSP_CODE_SQ_PK = "," "')
    WHERE JOURNALDB.TABLENAME = "GSP_GENERIQUE_SPECIALITE"
         AND Left(JOURNALDB.[CIP],1)  NOT IN  ("V", "I","E","L")
    Lorsque je l'exécute, j'ai une erreur : Erreur de syntaxe...., j'ai tenté plusieurs manipulation mais j'ai pu résoudre le problème.
    Je serai trés reconnaissant si quelqu'un m'éclaircirait.
    Je vous remercie d'avance.
    Cordialement

  2. #2
    Membre habitué Avatar de jimay
    Profil pro
    Inscrit en
    Août 2006
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 146
    Points : 178
    Points
    178
    Par défaut
    salut,

    ton erreur ne viendrait-elle pas de l'apostrophe que tu as à la 3ieme ligne ?

  3. #3
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 276
    Points : 83
    Points
    83
    Par défaut
    Salut, merci pour ta réponse.
    En supprimant cette apostrophe, j'ai un autre message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Incohérence de type dans une expression
    .
    Sachez que cette requête fonctionne sur bien d'autres SGBD tels que Oracle, SQL server, firebird, etc.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 46
    Points : 40
    Points
    40
    Par défaut
    Salut !

    Quels sont les types de :
    - JOURNALDB.PKEY
    - GSP_GENERIQUE_SPECIALITE.GSP_CODE_SQ_PK
    - JOURNALDB.TABLENAME
    - JOURNALDB.[CIP]

    ?

  5. #5
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 276
    Points : 83
    Points
    83
    Par défaut
    Bon, en fouillant dans les anciennes discussion j'ai constaté que access n peut pas faire la compairaion entre entier et chaine de caratère, j'ai changé le type entier en chaine et plus d'erreur.
    Maintentant que la requête s'exécute sans erreur, elle doit retourner des résulats comme testé dans les autres SGBD, mais sous access, elle ne retourne rien.
    Est ce cela est du aux mauvaise jointures ? Est ce que si je change l'order des jointures, cela aura une influence sur les résultats.
    Merci pour vos avis et conseils.
    Cordialement

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 46
    Points : 40
    Points
    40
    Par défaut
    Bon, ben au mois tu n'as plus d'erreur

    Sinon, le fait de changer l'ordre de tes jointures ne changera rien vu que ce sont des INNER JOIN...
    Essaye avec les LEFT sinon...

  7. #7
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 276
    Points : 83
    Points
    83
    Par défaut
    Oui tu as tout à fait raison, mais vu que je connais pas comment access raisonne lors du traitement des requêtes.
    J'ai changé les INNER par LEFT mais rien n'a changé. Pas de résultats retournés.
    En fait cette requête avec les même tables donne les résultats attendus sous Firebird, Oracle et SQL Server.

  8. #8
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut à tous,

    il n'y a pas de pb sur la requete qui retourne bien des résultats.
    cela doit provenir du changement de type. comment as tu fais la conversion?

  9. #9
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 276
    Points : 83
    Points
    83
    Par défaut
    En fait je n'ai pas fait de conversion puisque je ne connais pas trop les fonctions en Access, c'est pour cela j'ai changé le type de "GSP_CODE_SQ_PK" en texte puis le type de Pkey est texte.

  10. #10
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 276
    Points : 83
    Points
    83
    Par défaut
    Merci à tous pour leur interventions et les idées qu'ils m'ont avancé et qui m'ont beaucoup aidé.
    En fin j'ai utilisé le cast avec CInt() et j'ai vérifié les données et ça marche.
    Merci encore
    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur de syntaxe dans une requête
    Par dark_geek dans le forum ASP
    Réponses: 10
    Dernier message: 28/05/2009, 19h15
  2. Erreur de syntaxe dans une requête
    Par Equinoxe5 dans le forum Requêtes
    Réponses: 3
    Dernier message: 29/04/2009, 14h09
  3. Réponses: 8
    Dernier message: 09/09/2008, 10h28
  4. Erreur de syntaxe dans une requête SQL
    Par Gabout dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 08/01/2008, 18h19
  5. Erreur de syntaxe dans une requête SQL
    Par amnesias dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/01/2007, 13h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo