Suppression d'enregistrement

Le
Michel B
Bonjour à toutes et à tous,

j'ai fais une requéte de non-correspondance avec l'assistant pour isoler les
Adhérent non présent dans la table "Année_Adherent"

SELECT Adherents.N°Adherent AS Adherent_A_Supp
FROM Adherents LEFT JOIN Année_Adherent ON Adherents.N°Adherent =
Année_Adherent.N°Adherent
WHERE (((Année_Adherent.N°Adherent) Is Null));

Cette requéte me renvoie bie les 610 enregistrement concernés que je
souhaite supprimer.
Et là impossible, e, mode feuille de donnée je sélectionne tous et supprime,
il m'averti que le donné seront supprimer Bla Bla .., et éxécute.
Et les données sont toujour présente lorsque je relance la requéte ?

J'ai essayé de faire une seconde requéte "Suppression" basé sur la table
Adhérent et la requéte ci-dessus.

DELETE Adherents.*
FROM ["Adherents" et "Année_Adherent" sans correspondance] INNER JOIN
Adherents ON ["Adherents" et "Année_Adherent" sans
correspondance].Adherent_A_Supp = Adherents.N°Adherent;

Mais la réponse est impossible de supprimer dans "LES tables"

Comment faire pour supprimer ses enregistrements ?

D'avance merci
Michel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Richard_35
Le #17641281
Bonjour Michel,

Cela est dû aux règles SQL, non à Access en particulier.
Une astuce de contournement :
- dans la table "Adherents", tu ajoutes un champ "ASupp" de type
Oui/Non
- tu transformes ta requête en requête "mise à jour" : ASupp=Vrai
pour les non-correspondances
- tu crées une requête suppression qui delete les enregistrements de
Agence dont ASupp=Vrai
- tu supprimes le "ASupp" de la table "Adherent"

Dis-nous et bon courage,
Richard.

"Michel B" 4902c785$0$842$
Bonjour à toutes et à tous,

j'ai fais une requéte de non-correspondance avec l'assistant pour isoler
les Adhérent non présent dans la table "Année_Adherent"

SELECT Adherents.N°Adherent AS Adherent_A_Supp
FROM Adherents LEFT JOIN Année_Adherent ON Adherents.N°Adherent =
Année_Adherent.N°Adherent
WHERE (((Année_Adherent.N°Adherent) Is Null));

Cette requéte me renvoie bie les 610 enregistrement concernés que je
souhaite supprimer.
Et là impossible, e, mode feuille de donnée je sélectionne tous et
supprime, il m'averti que le donné seront supprimer Bla Bla .., et
éxécute.
Et les données sont toujour présente lorsque je relance la requéte ?

J'ai essayé de faire une seconde requéte "Suppression" basé sur la table
Adhérent et la requéte ci-dessus.

DELETE Adherents.*
FROM ["Adherents" et "Année_Adherent" sans correspondance] INNER JOIN
Adherents ON ["Adherents" et "Année_Adherent" sans
correspondance].Adherent_A_Supp = Adherents.N°Adherent;

Mais la réponse est impossible de supprimer dans "LES tables"

Comment faire pour supprimer ses enregistrements ?

D'avance merci
Michel



Michel B
Le #17644171
Bonsoir Richard,

c'est ce que j'ai fais en début d'après midi, après être arrivé à la même
conclusion bien que ne savant pas que c'était une règle SQL.
Toutefois je n'ai pas supprimer le "A_Supp" de la table car je risque de
renouveller l'opération a interval régulier.
Je vais essayer d'apprendre a créé le champs en VBA dans la table
puis deux "Run SQL" pour le marquage et la suppession
et enfin une suppression du champ en VBA, ce qui serait le plus propre.
Mais pour cela il faut que j'apprenne a créer et a supprimer un champ en
VBA, donc en attendant je garde le champ.

Merci pour la confirmation
Michel




"Richard_35"
Bonjour Michel,

Cela est dû aux règles SQL, non à Access en particulier.
Une astuce de contournement :
- dans la table "Adherents", tu ajoutes un champ "ASupp" de type
Oui/Non
- tu transformes ta requête en requête "mise à jour" : ASupp=Vrai
pour les non-correspondances
- tu crées une requête suppression qui delete les enregistrements
de Agence dont ASupp=Vrai
- tu supprimes le "ASupp" de la table "Adherent"

Dis-nous et bon courage,
Richard.

"Michel B" 4902c785$0$842$
Bonjour à toutes et à tous,

j'ai fais une requéte de non-correspondance avec l'assistant pour isoler
les Adhérent non présent dans la table "Année_Adherent"

SELECT Adherents.N°Adherent AS Adherent_A_Supp
FROM Adherents LEFT JOIN Année_Adherent ON Adherents.N°Adherent =
Année_Adherent.N°Adherent
WHERE (((Année_Adherent.N°Adherent) Is Null));

Cette requéte me renvoie bie les 610 enregistrement concernés que je
souhaite supprimer.
Et là impossible, e, mode feuille de donnée je sélectionne tous et
supprime, il m'averti que le donné seront supprimer Bla Bla .., et
éxécute.
Et les données sont toujour présente lorsque je relance la requéte ?

J'ai essayé de faire une seconde requéte "Suppression" basé sur la table
Adhérent et la requéte ci-dessus.

DELETE Adherents.*
FROM ["Adherents" et "Année_Adherent" sans correspondance] INNER JOIN
Adherents ON ["Adherents" et "Année_Adherent" sans
correspondance].Adherent_A_Supp = Adherents.N°Adherent;

Mais la réponse est impossible de supprimer dans "LES tables"

Comment faire pour supprimer ses enregistrements ?

D'avance merci
Michel







Michel__D
Le #17647401
Bonjour,

Michel B a écrit :
Bonjour à toutes et à tous,

j'ai fais une requéte de non-correspondance avec l'assistant pour isoler les
Adhérent non présent dans la table "Année_Adherent"

SELECT Adherents.N°Adherent AS Adherent_A_Supp
FROM Adherents LEFT JOIN Année_Adherent ON Adherents.N°Adherent =
Année_Adherent.N°Adherent
WHERE (((Année_Adherent.N°Adherent) Is Null));

Cette requéte me renvoie bie les 610 enregistrement concernés que je
souhaite supprimer.
Et là impossible, e, mode feuille de donnée je sélectionne tous et supprime,
il m'averti que le donné seront supprimer Bla Bla .., et éxécute.
Et les données sont toujour présente lorsque je relance la requéte ?

J'ai essayé de faire une seconde requéte "Suppression" basé sur la table
Adhérent et la requéte ci-dessus.

DELETE Adherents.*
FROM ["Adherents" et "Année_Adherent" sans correspondance] INNER JOIN
Adherents ON ["Adherents" et "Année_Adherent" sans
correspondance].Adherent_A_Supp = Adherents.N°Adherent;

Mais la réponse est impossible de supprimer dans "LES tables"

Comment faire pour supprimer ses enregistrements ?

D'avance merci
Michel



Essaye avec cette formulation et vérifie si tu as les mêmes enregistrements.

SELECT T1.[N°Adherent]
FROM Adherents AS T1
WHERE T1.[N°Adherent] Not In
(SELECT [N°Adherent]
FROM [Année_Adherent]);
Publicité
Poster une réponse
Anonyme