[Access] Problème de requete.
Résolu
Oz`
Messages postés
31
Date d'inscription
Statut
Membre
Dernière intervention
-
Oz` Messages postés 31 Date d'inscription Statut Membre Dernière intervention -
Oz` Messages postés 31 Date d'inscription Statut Membre Dernière intervention -
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+
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+
A voir également:
- [Access] Problème de requete.
- Acer quick access - Forum Logiciels
- Access appdata - Guide
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
- Exemple de base de données access - Forum Access
- [Access] creer base données client-produits - Forum Programmation
2 réponses
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 :
A+ Blux
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"
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
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