Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Suppression d'enregistrement

3 réponses
Avatar
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

3 réponses

Avatar
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" a écrit dans le message de news:
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



Avatar
Michel B
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" a écrit dans le message de news:

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" a écrit dans le message de news:
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







Avatar
Michel__D
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]);