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

ASP Discussion :

Requete SELECT qui cause une erreur SQL


Sujet :

ASP

  1. #1
    Membre éclairé Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Par défaut Requete SELECT qui cause une erreur SQL
    Hello a tous,

    J'ai la requete SQL suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sqleff="SELECT * from liste_bailleur,liste_client,liste_MCP,liste_MCS,liste_region,liste_pays,presentationF,presentationA,descriptionF,descriptionA WHERE id_projet="&numero
    set RS=Server.CreateObject("ADODB.Recordset")
    rs.open(sqleff),Conn
    J'ai le message d'erreur suivant
    Le champ spécifié 'id_projet' peut désigner plusieurs tables listées dans la clause FROM de votre instruction SQL.
    Comment resoudre ca?

    Apres je voudrais effacer ces enregistrement, je peux le faire avec un delete ds une boucle qui navique ce RS ??

    Merci pour votre aide

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 367
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...Where Matable.id_projet = " & numero
    tout simplement

  3. #3
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut Re: Requete SELECT qui cause une erreur SQL
    Citation Envoyé par ahage4x4
    Je voudrais effacer ces enregistrement, je peux le faire avec un delete ds une boucle qui navique ce RS ??
    Oui une boucle faisant un delete me semble une bonne solution, mais attention de bien tester le retour de ta premiere requete avant de supprimer, car sinon tu risques de vider ta base de données
    Donc je te conseil de faire tranquillement ta premiere requete, puis d'afficher les résultats, de les regarder attentivement, puis de faire une requete delete sur un élement pour voir si elle fonctionne, puis enfin d'implémenter ta boucle.

  4. #4
    Membre éclairé Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Par défaut
    Citation Envoyé par Gwenn
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...Where Matable.id_projet = " & numero
    tout simplement
    Salut , merci pour vos reponses!!
    Est ce que je peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Where Matable.id_projet,Matable2.id_projet,Ma_table3.id_projet = " & numero
    : Car je ne sais pas si vous avez deviné:

    Je veux faire une EDITION par update pour un enregistrement par exemple 255:

    et dans les tables que j'ai deja cité par exemple liste_pays:id_projet,id_pays 255 Je veux effacer les enregistrements contenant cet id_projet, pour pouvoir re remplir car je trouve que c'est plus facile de faire comme ca, je ferai des insert to des nouvelles valeurs apres avoir effacé. Je ne sais pas si je suis clair là.

    J'attends de savoir donc si je peux faire ce WHERE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Where Matable.id_projet,Matable2.id_projet,Ma_table3.id_projet = " & numero
    et niglo j'irai doucement promis

  5. #5
    Membre éclairé Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Par défaut
    Je suis pas sûr que ce soit si simple au niveau de la syntaxe.


    En fait ton champs id-projet existe dans toutes les tables que tu cites avant?

    Tu peux pas faire une jointure sur le id projet ou une vue qui te donnerais uniquement les valeurs à effacer?

  6. #6
    Membre éclairé Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Par défaut
    Hello, merci pour ta reponse, en fait oui mon id_projet se trouve dans toutes les tables.

    Pour les jointures, ce sera utile pour mon cas? Je ne maitrise pas bien le sql je t'avoue, du coup je me suis dit de faire le plus simple !

    Cordialement

  7. #7
    Membre éclairé Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Par défaut
    Tu as posté sur le forum SQL?

    Y'a un moment que j'ai pas fait des grosses requètes SQL, je suis plus très sûr!

    Sinon la jointure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    SELECT * FROM table1,table2 Where table1.id_projet=table2.id_projet AND table1.id_projet='"&mavariable&"'
    Un truc comme çà!

  8. #8
    Membre éclairé Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Par défaut
    Je vais essayer ca, et si je bloque je vais tenter le forum SQL.

    Merci a toi.

  9. #9
    Membre éclairé Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Par défaut
    Voila ce que j'ai fait j'ai cette erreur, personne peut m'aider a la deceler

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    sqleff="SELECT * FROM liste_bailleur,liste_client,liste_MCP,liste_MCS,liste_region,liste_pays,presentationF,presentationA,descriptionF,descriptionA WHERE"&_
    "liste_bailleur.id_projet=liste_client.id_projet AND liste_client.id_projet=liste_MCP.id_projet AND liste_MCP.id_projet=liste_MCS.id_projet"&_
    "AND liste_MCS.id_projet=liste_region.id_projet AND liste_region.id_projet=liste_pays.id_projet AND liste_pays.id_projet=presentationF.id_projet"&_
    "AND presentationF.id_projet=presentationA.id_projet AND presentationA.id_projet=descriptionF.id_projet AND descriptionF.id_projet=descriptionA.id_projet"&_
    "AND id_projet="&numero
     
    rs.open(sqleff),Conn
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans la clause FROM.



  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 367
    Par défaut
    Fais un au lieu de l'executer, mais S'il te dit qu'il y a une erreur dans la clause FROM, c'est certainement une erreur de nom de table.

  11. #11
    Membre éclairé Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Par défaut
    Le champ spécifié 'id_projet' peut désigner plusieurs tables listées dans la clause FROM de votre instruction SQL.

    J'ai cette erreur de nouveau

  12. #12
    Membre éclairé Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Par défaut
    C'est pas le ="&numero qui pose pb à la fin.

    Ta requète s'arrête après le = non?

  13. #13
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 367
    Par défaut
    a la fin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND TABLE1.id_projet="&numero & " AND TABLE2.id_porjet= " & numero & " AND TABLE3.id_projet =" & numero....
    Oui c'est lourd, mais la structure de ta base à l'air étrange

  14. #14
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    Citation Envoyé par Gwenn
    Fais un au lieu de l'executer, mais S'il te dit qu'il y a une erreur dans la clause FROM, c'est certainement une erreur de nom de table.
    Bonne diée comme ca tu verras exactement la requete que tu tentes d'exécuter et on pourra plus facilement déceler ton erreur

  15. #15
    Membre éclairé Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Par défaut
    Citation Envoyé par pmboutteau
    C'est pas le ="&numero qui pose pb à la fin.

    Ta requète s'arrête après le = non?
    oui ca s'arrete la AND id_projet="&numero .

    Gwenn, ma base a ete faite il y a 5 ans et je ne peux y toucher, et encore ce que tu vois est bien structuré, il y a des choses horrible ds cette base, il y meme des tables sans cles!

    En faisant le response.write j'ai bien ce qu'il faut , donc Niglo ca ne viens pas de la syntaxe.

    Voyons ce que ca va donner de mettre ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND TABLE1.id_projet="&numero & " AND TABLE2.id_porjet= " & numero & " AND TABLE3.id_projet =" & numero....

  16. #16
    Membre éclairé Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Par défaut
    Je serai toi je ne prendrais qu'une table que je compare à tous le reste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     tabl1.x=tabl2.x AND tabl1.x=tabl3.x AND tabl1.x=x

  17. #17
    Membre chevronné Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par défaut
    Peux tu nous donner le résultat du response.write stp qu'on puisse voir la requête exécutée.

    Merci et bon courage.

  18. #18
    Membre éclairé Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Par défaut
    Voila mon nouveu response.write si ca peut aider.

    SELECT * FROM liste_bailleur,liste_client,liste_MCP,liste_MCS,liste_region,liste_pays,presentationF,presentationA,descriptionF,descriptionA WHERE liste_bailleur.id_projet=liste_client.id_projet AND liste_client.id_projet=liste_MCP.id_projet AND liste_MCP.id_projet=liste_MCS.id_projet AND liste_MCS.id_projet=liste_region.id_projet AND liste_region.id_projet=liste_pays.id_projet AND liste_pays.id_projet=presentationF.id_projet AND presentationF.id_projet=presentationA.id_projet AND presentationA.id_projet=descriptionF.id_projet AND descriptionF.id_projet=descriptionA.id_projet AND liste_bailleur.id_projet=447AND liste_client.id_projet=447AND liste_MCP.id_projet=447AND liste_MCS.id_projet=447AND liste_region.id_projet447AND liste_pays.id_projet=447AND presentationF.id_projet=447AND presentationA.id_projet=447AND descriptionF.id_projet=447AND descriptionA.id_projet=447
    Je ne pense pas que les espaces causeront un probleme.

    par exemple ici liste_pays.id_projet=447AND presentation pas d espace entre 447 et AND

  19. #19
    Membre éclairé Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Par défaut
    J'ai mis des espaces pour donner ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM liste_bailleur,liste_client,liste_MCP,liste_MCS,liste_region,liste_pays,presentationF,presentationA,descriptionF,descriptionA WHERE liste_bailleur.id_projet=liste_client.id_projet AND liste_client.id_projet=liste_MCP.id_projet AND liste_MCP.id_projet=liste_MCS.id_projet AND liste_MCS.id_projet=liste_region.id_projet AND liste_region.id_projet=liste_pays.id_projet AND liste_pays.id_projet=presentationF.id_projet AND presentationF.id_projet=presentationA.id_projet AND presentationA.id_projet=descriptionF.id_projet AND descriptionF.id_projet=descriptionA.id_projet AND liste_bailleur.id_projet=447 AND liste_client.id_projet=447 AND liste_MCP.id_projet=447 AND liste_MCS.id_projet=447 AND liste_region.id_projet447 AND liste_pays.id_projet=447 AND presentationF.id_projet=447 AND presentationA.id_projet=447 AND descriptionF.id_projet=447 AND descriptionA.id_projet=447
    Et devinez qu'est ce qu'il me sort
    TROP PEU DE PARAMETRES et 1 demandé

  20. #20
    Membre éclairé Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Par défaut
    Tous ce qui est dans le Where doi être entre parenthèse.
    Là çà devrait être ok

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Comment récupérer la ligne qui a causé une erreur ?
    Par schnee dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 17/09/2014, 16h01
  2. [MySQL] requete qui retourne une erreur a l'execution
    Par naazih dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 18/05/2008, 12h59
  3. Requete SQL qui retourne une erreur
    Par gregal dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/03/2008, 23h05
  4. Requete sql vers ORACLE qui renvoi une erreur
    Par lilou77 dans le forum Oracle
    Réponses: 7
    Dernier message: 29/01/2007, 09h52
  5. Select Case provoque une erreur
    Par defluc dans le forum SQL
    Réponses: 6
    Dernier message: 14/08/2005, 23h59

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