[ACCESS] Requête suppression

V3n1 Messages postés 304 Statut Membre -  
 blabla -
Bonjour,

J'vous explique mon problème. Je veux crée une requête supprimant une ligne complete d'une table. Cependant, je veux qu'elle supprime cette ligne quand celle-ci est identique à une autre ligne d'une autre table.
Un exemple :

TABLE EMPRUNT (NumClassEmp, Date1)
TABLE RECEPTION (NumClassRecept, Date2)

Quand, le num du classeur de reception est identique à un numéro de classeur emprunté, je veux que la requête supprime la ligne de la table emprunt correspondant au même numéro.
(Si vous avez du mal à comprendre, j'peux vous réexpliquer.)

QQun pourrait m'aider ?

Merci d'avance.
A voir également:

5 réponses

V3n1 Messages postés 304 Statut Membre 56
 
Voilà, j'ai réussi à faire marcher ce qu'j'voulais faire avec ceci :

UPDATE TABLE_EMPRUNT, TABLE_RECEPTION 
SET TABLE_EMPRUNT.NumClasseurEmp = NULL, 
TABLE_EMPRUNT.NomEmp = NULL, 
TABLE_EMPRUNT.PrenomEmp = NULL, 
TABLE_EMPRUNT.DateEmp = NULL
WHERE TABLE_EMPRUNT.NumClasseurEmp=TABLE_RECEPTION!NumClasseurRecept;


Cependant elle ne supprime pas ma ligne, mais la modifié pour qu'elle soit nul.

QQun aurait vraiment une requête de suppression pour ce qu'j'veux faire ? C'est assez important, et je n'arrive pas à trouver la solution.
J'ai essayé la requête ci :

DELETE TABLE_EMPRUNT.* 
FROM TABLE_EMPRUNT 
WHERE TABLE_EMPRUNT.NumClasseurEmp=TABLE_RECEPTION.NumClasseurRecept;


Mais il ne connait pas la TABLE_RECEPTION, même si j'écrit [TABLE]!TABLE_RECEPTION!NumClasseurRecept car je sais que si je met forms à la place de table, ça peut marcher.

SVP qqun aurait-il une solution ?
1
V3n1 Messages postés 304 Statut Membre 56
 
J'ai essayé ceci :

DELETE TABLE_EMPRUNT.*
FROM TABLE_EMPRUNT
WHERE TABLE_EMPRUNT.NumClasseurEmp=TABLE_RECEPTION.NumClasseurRecept;

Mais il m'ouvre une fenêtre pour que je précise le numero de classeur reception car il ne connait pas la table recpetion je pense.

Quelqu'un aurait il une solution ?

Merci.

0
F.oget
 
Ce qu'il te faut ce n'est pas un = mais un IN avec une sous requete...
0
V3n1 Messages postés 304 Statut Membre 56
 
Merci à toi pour ton aide, ça marche. AFFAIRE RESOLU ENCORE UNE FOIS SUR COMMENTCAMARCHE. Que j'aime ce forum.. lol

Merci encore à tous les deux.
0
Polux31 Messages postés 7219 Statut Membre 1 204
 
bonjour,

La syntaxe est :
DELETE FROM myTable WHERE monChamp = "blabla" 


;o)
0
blabla
 
blabla
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
V3n1 Messages postés 304 Statut Membre 56
 
J'ai déjà essayé une sous requête mais je ne trouve pas comment j'peux faire.

Tu pourrais me dire ce que j'dois mettre dans ma sous requête ?


DELETE TABLE_EMPRUNT.*
FROM TABLE_EMPRUNT
WHERE TABLE_EMPRUNT.NumClasseurEmp In(SELECT TABLE_RECEPTION.NumClasseurRecept FROM TABLE_RECEPTION);

Est-ce ceci ?

Désolé mais je ne peux pas l'essayer sans être sur car je suis déjà entrain de manipuler cette base pour mon stage.

Merci Polux de ton intervention, mais cela je le savais déjà lol.. ma question est simple; comment supprimer une ligne d'une table en se basant sur deux tables ?
0