gratifiant > microsoft.* > microsoft.access

Sonia (25/08/2004, 12h03)
Bonjours

Je voudrais modifier une requête de suppression automatique.

Elle supprime les enregistrements contenues dans une Table Co_R, à partir
d'une date de suppression, contenue dans une requête R.
La date de suppression est elle - même calculé sur des enregistrements
de la table Co_R

La requête fonctionne elle efface les lignes concernées.
Voici son code

Mode Création
Table : Co_R
Champ :DateSuppression: AjDate("j";[DateCréation];2)
Supprimer: Où
Critère: <Date()

Mod SQL
DELETE DateAdd("d",[DateCréation],2) AS DateSuppression
FROM Co_R
WHERE (((DateAdd("d",[DateCréation],2))<Date()));

Voici ma demande ?

Je voudrai modifier la requête de suppression et insérer 3 Tables Pb, Pv
SCO_R.
Ces 3 tables ont un champ Commun avec la Table Co_R, le Champ N_Article.
Je voudrai ajouter un critère supplémentaire à la requête de Suppression.
Ce qui critère est le suivant : N_Article.
Mon But :
Je voudrais que, lors de la suppression des enregistrements de la table Co_R,
la requête supprime aussi les enregistrements contenues dans les 3 autres
Tables Pb et Pv SCo_R ayant le même Numéro dans le champ N_Article.

Dans Outils \ Relation

Les tables sont liées entre-elles champ N_Article. Et l'option "Appliquer
l'intégrité
référentielle est coché.

Voici les tables en question

Table : Co_R
Champ : N_Article : Numérique
CHamp : DateCréation : Date/Heure : Now()
Champ : QTCO_R : Numérique

Table : PB
Champ : N_Article : Numérique
Champ : DateEnr : Date/Heure : Now()
Champ : QTPB : Numérique

Table : PV
Champ : N_Article : Numérique
Champ : DateEnr : Date/Heure : Now()
Champ : QTPV : Numérique

Table : SCO_R
Champ : N_Article : Numérique
Champ : DateEnr : Date/Heure : Now()
Champ : QTsco_R : Numérique

Pouvez-vous me donner la modification du code SQL afin de réaliser cette
requête ?

Merci d'avance
Sonia (25/08/2004, 12h21)
Ou Pouvez vous me dire ce qui ne va pas pour réaliser cette requête ?

Merci d'avance
Yann (25/08/2004, 13h23)
Salut Sonia,
Tu as coch? les int?grit?s r?f?renciel, mais as-tu coch?
les suppresion en cascade ? Si oui, alors pas de
probl?me, ?a doit le faire, si non, alors fais-le.

Enfin, si tu ne veux pas (illogique pour une base de
donn?es, mais bon), il te faut faire une requ?te
suppression par table en commen?ant par SCO_R, PV et PB
indif?remment, mais en terminant par Co_R.

Ca donnera quelque chose du style :

DELETE DateAdd("d",[DateCréation],2) AS DateSuppression
FROM Co_R INNER JOIN SCO_R ON
Co_R.N_Article=SCO_R.N_Article
WHERE (((DateAdd("d",[DateCréation],2))<Date()));

Bye
Yann
[..]
Sonia (25/08/2004, 14h49)
Merci. La je vais tester cela et je te dis si cela fonctionne

Merci d'avance
Sonia
Discussions similaires