[Access] Problème de requete.

Résolu
Bonjour,

Je suis en train de dévellopper une application en Intranet (ASP, VbScript) et j'ai un petit soucis de requetes avec access.

J'ai une table AGENT qui contient AGT_ID(Primaire, auto increment) AGT_NOM et AGT_PRENOM
J'ai ensuite une table INSCRIPTION contenant INSC_ID(auto increment) OPERATION_ID(en rapport a une autre table) et AGENT_ID(clé etrangere d'AGT_ID).

-Il peut y avoir plusieurs agents inscrit sur la même opération.
-Il ne peuvent s'inscrire qu'une seul fois à la même opération.

J'aimerais recuperé la liste des agents non-inscrit à une operation par son id.

J'ai essayer avec plusieurs methodes mais rien n'y fait:
SELECT AGENT.AGT_ID, AGENT.AGT_PRENOM, AGENT.AGT_NOM
FROM AGENT, INSCRIPTION
WHERE AGENT_ID Not Like (SELECT AGENT_ID FROM INSCRIPTION WHERE OPERATION_ID LIKE 29); //Aucun resultat...

SELECT AGENT.AGT_ID, AGENT.AGT_PRENOM, AGENT.AGT_NOM
FROM AGENT, INSCRIPTION
WHERE AGENT_ID NOT LIKE AGENT_ID AND OPERATION_ID = 29); //doublons.

Je ne sais pas si SQL sous access differe de mysql, mais j'ai l 'impression que la premiere devrait marché non?

Merci d'avance.
A+
--
Oz`
Configuration: Windows 2000
Firefox 2.0.0.6

2 réponses

  1. Modérateur
    Salut,

    tu as essayé NOT IN et non NOT LIKE ?

    Sinon, il faut tenter les jointures LEFT JOIN et RIGHT JOIN (requête de non correspondance dans ACCESS), genre :
    FROM B LEFT JOIN A ON B.IdB = A.Id
    WHERE (((A.Id) Is Null));
    --
    A+ Blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    -1
    1. Re,

      Suite à ton conseil je viens de tester :

      SELECT AGT_ID, AGT_NOM, AGT_PRENOM
      FROM AGENT, INSCRIPTION
      WHERE AGT_ID NOT IN (SELECT AGENT_ID FROM INSCRIPTION WHERE OPERATION_ID LIKE 29)

      Ca m'as tout l air de fonctionner seulement j'ai des doublons, je rajoute donc DISTINCT AGT_ID au début.

      Merci beaucoup ;)

      @ plush
      -1