Alex Thurgood <alex.thurgood <at> free.fr> writes:
> > Le jeudi 03 novembre 2005 à 08:11 +0100, Jacques Petiot a écrit : > > Bonjour, > > > dans la version 2, je viens de tester l'éditeur de requête et j'ai le > > problème suivant: > > > > pour une requête de non correspondance, la jointure droite (voire gauche ) > > ne permet pas d'obtenir le > résultat escompté, (les parents sans enfants) en recopiant du SQL j'arrive à > obtenir le bon résultat > mais on ne peut plus revenir dans l'éditeur graphique sous peine de véroler > le SQL. > > > > j'ai donc besoin d'un peu d'aide > > > > de même que pour faire des requêtes paramétrées dont le paramètre est le > > contenu d'un formulaire > > Je pense que ça nous aiderait de connaître la structure de tes tables et > les requêtes que tu souhaites lancer. > > Alex > La structure est simple: une table Adhérents une table Elèves clef sur le champ Adhérent (integer) clef sur le champ Elève (integer) champs Nom Nom Prénom Prénom Adresse etc... Adhérent (integer) le lien une requète dont je ne peut copier le graphique!!! mais qui ressemble à ça Champ: Nom Prénom Adresse Elève Table: Adhérents Adhérents Adhérents Elèves Critère: est vide avec une jointure droite (tous les enregistrements de Adhérents et uniquement .... Qui donne un message d'erreur: "column not found.... avec la liste des colonnes avec une jointure gauche ne donne rien! c'est normal je n'ai pas rentré d'élève sans parent adhérent Le SQL de la jointure droite est celui ci SELECT "Adhérents"."Nom", "Adhérents"."Prénom", "Adhérents"."Téléphone_fixe", "Elèves"."Elève" FROM { OJ "Elèves" "Elèves" RIGHT OUTER JOIN "Adhérents" "Adhérents" ON "Elèves"."Adhérent" = "Adhérents"."Adhérent" } WHERE ( ( "Elèves"."Elève" IS NULL ) ) je comprend à la lecture (difficile pour moi) qu'on ne risque pas de trouver "Adhérents"."Nom" dans "Elèves" et donc je retourne l'expression SQL en: SELECT "Adhérents"."Nom", "Adhérents"."Prénom", "Adhérents"."Téléphone_fixe", "Elèves"."Elève" FROM { OJ "Adhérents" "Adhérents" lefT OUTER JOIN "Elèves" "Elèves" ON "Elèves"."Adhérent" = "Adhérents"."Adhérent" } WHERE ( ( "Elèves"."Elève" IS NULL ) ) et là miracle ça marche! je me dis donc que je suis très fort et j'enregistre ma requête Elle fonctionne si je l'exécute à partir de la fenêtre principale Manque de bol, je ne peut plus la modifier sans passer par le mode ébauche qui re-modifie le SQL ET QUI NE MARCHE PLUS De plus je pense que le mode ébauche ne traduit pas correctement le SQL