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 dans une requête SQL


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut erreur dans une requête SQL
    Bonjour à tous

    J'ai créé une base avec le nom et prénom dans le même champ et je voudrais inverser ce champ de "nom prénom" à "prénom nom"

    On m'a proposé la requête SYQ suivante :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT LEFT([NomPrenom]; InStrRev([NomPrenom];" ") - 1) 
    AS Nom,
    Mid([NomPrenom]; InStrRev([NomPrenom];" ") + 1)
    AS PrenomFROM Jazz Table1

    mais j'ai une erreur :

    erreur de syntaxe dans SELECT LEFT([NomPrenom]; InStrRev([NomPrenom];" ")

    Quelqu'un aurait-il une idée sur la cause de cette erreur ?

    Merci

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Lorsque tu es en mode d'affichage SQL, il faut remplacer les point-virgules (;) par des virgules (,)

    A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    Merci ledzep

    J'ai essayé mais maintenant j'ai le message :

    "Dans l'instruction SELECT un mot réservé ou un argument est mal orthographié ou absent ou la ponctuation est incorrecte"

    Ne faut-il pas remplacer les crochets par des parenthèses ?

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    - Il faut détacher le "FROM" de "Prenom"
    - Faire un choix entre la Jazz ou Table1 après le "FROM".

    J'ai testé avec ceci et je n'ai pas d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT LEFT([NomPrenom], InStrRev([NomPrenom]," ") - 1) AS Nom,
    Mid([NomPrenom], InStrRev([NomPrenom]," ") + 1) AS Prenom
    FROM Jazz
    A+

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    Merci

    Je ne comprends pas : le nom exact de ma table est Jazz Table1

    Pourquoi ne mettre que Jazz ou Table1 ?

    De toutes façons j'ai essayé :

    Jazz

    Table1

    JazzTable1

    j'ai toujours la même erreur :

    "le moteur de la base de données ne peut trouver la table ou la requête"

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Vous avez essayé [Jazz Table1] ?

    À ma connaissance, c'est justement lorsque qu'il y a un ou plusieurs espaces que les crochets sont nécessaires.
    Dernière modification par Invité ; 24/12/2010 à 19h22.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    Merci

    Je viens d'essayer cela semble aller : je n'ai plus le message mais...

    du coup j'ai un autre message qui me demande d'entrer une valeur dans une mini fenêtre NomPrenom avec un champ à remplir...

    Que faire ?

  8. #8
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Cela signifie que que NomPrenom n'est pas un nom de champ valide de la table «Jazz Table1».
    Il faut remplacer NomPrenom par le nom du champ qui contient le nom et le prénom.

    A+

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Si le nom du champ est composé de "Nom" et "Prénom", cette fois, êtes-vous sûr que c'est [NomPrenom] et non [Nom Prenom] ou encore [Nom Prénom] ?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    Merci pour vos réponses

    Effectivement j'avais omis de remplacer [NomPrénom] par le nom du champ. qui était interprète

    Mais maintenant j'ai un autre problème...

    Quand je lance cette requête elle fonctionne et m'affiche donc les noms et prénoms dans 2 champs différents nom et prénom à la place du seul champ NomPrénom, parfait.

    mais les autres champs de ma base (année, instruments références etc) ne sont pas affichés...

    Donc comme je voudrais modifier ma base avec ces nouveaux champs nom et prénom comment faire pour transformer cette requête en table avec tous les champs

    Quelqu'un peut-il me conseiller ?

    Merci d'avance

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Vous pouvez, par exemple, créer une requête "Création de table" et donc créer une nouvelle table, à partir d'une ou plusieurs tables et/ou d'une ou plusieurs requêtes, qui remplacera la table précédente.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    Merci

    Pouvez-vous me de dire comment on crée une requête "Création de table" ?

  13. #13
    Invité
    Invité(e)
    Par défaut
    Voilà ce que vous pouvez trouver sur l'aide d'Access, version 2000, mais je ne pense pas qu'il y ait de grosses différences et vous pouvez bien sûr afficher de la même façon l'aide de 2003 :

    Création d'une table à partir des résultats d'une requête Création de table


    1. Créez une requête en sélectionnant les tables ou les requêtes qui contiennent les enregistrements à inclure dans la nouvelle table. Procédure
    2. En mode Création de requête, cliquez sur la flèche à côté de Type de requête dans la barre d'outils, puis sur Création de table. La boîte de dialogue Requête création de table s'affiche.
    3. Dans la zone Nom de la table, tapez le nom de la table à créer ou à remplacer.
    4. Cliquez sur Base de données en cours pour placer la nouvelle table dans la base de données active ou cliquez sur Autre base de données et tapez le nom de la base de données où vous souhaitez placer la table. Si nécessaire, tapez le chemin d'accès.
    5. Cliquez sur OK.
    6. Faites glisser les champs souhaités pour la nouvelle table de la Liste des champs vers la grille de création de requête.
    7. Après avoir fait glisser un champ, tapez les critères dans la cellule Critères du champ. Pour plus d'informations sur la définition des critères, cliquez sur .
    8. Pour avoir un aperçu de la table avant de la créer, cliquez sur Affichage dans la barre d'outils. Pour revenir dans le mode Création de requête afin d'effectuer des modifications ou d'exécuter la requête, cliquez sur Affichage dans la barre d'outils.
    9. Pour créer une nouvelle table, cliquez sur Exécuter dans la barre d'outils.

    Remarques

    • Pour interrompre une requête après son lancement, appuyez sur CTRL+ÉCHAP.
    • Les données de la nouvelle table n'héritent pas des propriétés de champ ni de la clé primaire définies dans la table d'origine.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Points : 46
    Points
    46
    Par défaut
    Grand merci Jacques je vais essayer tout cela et vous tiens au courant

Discussions similaires

  1. erreur dans une requête sql dans une fonction php
    Par frboyer dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2009, 13h37
  2. Erreur de lecture de données dans une requête SQL
    Par PtiteDéveloppeuse dans le forum Requêtes
    Réponses: 0
    Dernier message: 10/01/2008, 11h29
  3. 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, 17h19
  4. Erreur de syntaxe dans une requête SQL
    Par amnesias dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/01/2007, 12h50
  5. [MySQL] Erreur dans une requête sql
    Par Goundy dans le forum PHP & Base de données
    Réponses: 37
    Dernier message: 30/01/2006, 16h08

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