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

Suppression impossible dans les tables spécifiées

6 réponses
Avatar
Dan
Bonjour à tous,

J'ai une requête suppression à effectuer dans une table donnée, avec des
critères exprimés sur des champs d'autres tables liées à la première.

Table visée par la suppression : Envois
Tables liées contenant les critères : Membres, Entités, etc...

Access me renvoie le message mentionné en objet... Pourquoi ?
J'ai essayé de préparer ma sélection dans une requête à part, rien n'y
fait...

Ouh que c'est embêtant...

Merci de vos contributions !
A+ Dan

6 réponses

Avatar
Gilbert
Bonjour,

Si tu utilises un regroupement dans ta requête, il est normal que tu ne
puisses pas supprimer d'enregistrements.

Gilbert


"Dan" a écrit dans le message
de news:448fd666$0$1017$
Bonjour à tous,

J'ai une requête suppression à effectuer dans une table donnée, avec des
critères exprimés sur des champs d'autres tables liées à la première.

Table visée par la suppression : Envois
Tables liées contenant les critères : Membres, Entités, etc...

Access me renvoie le message mentionné en objet... Pourquoi ?
J'ai essayé de préparer ma sélection dans une requête à part, rien n'y
fait...

Ouh que c'est embêtant...

Merci de vos contributions !
A+ Dan




Avatar
Dan
Merci Gilbert de t'intéresser à mon problème... mais je n'utilise pas de
regroupement...

Je ne vois pas ce qui coince :
- j'ai une requête qui sélectionne des enregistrements liés dans plusieurs
tables (des membres et des entités, pour faire simple), d'après les valeurs
d'un formulaire;
- et une requête suppression qui tente de sucrer, dans une tierce table
(envois), les enregistrements liés à ceux de la première requête...

Pourquoi Access ne veut pas les supprimer, ces envois, ça reste pour moi un
mystère...
J'aurais bien aimé comprendre avant d'essayer de passer par je ne sais
quelle table temporaire...

Si tu as une idée...

Merci d'avance, Dan
Avatar
Gilbert
Peux-tu nous publier le texte de tes requêtes?
Quelles sont les relations entre les tables?

Gilbert

"Dan" a écrit dans le message
de news:4490240f$0$1031$
Merci Gilbert de t'intéresser à mon problème... mais je n'utilise pas de
regroupement...

Je ne vois pas ce qui coince :
- j'ai une requête qui sélectionne des enregistrements liés dans plusieurs
tables (des membres et des entités, pour faire simple), d'après les
valeurs

d'un formulaire;
- et une requête suppression qui tente de sucrer, dans une tierce table
(envois), les enregistrements liés à ceux de la première requête...

Pourquoi Access ne veut pas les supprimer, ces envois, ça reste pour moi
un

mystère...
J'aurais bien aimé comprendre avant d'essayer de passer par je ne sais
quelle table temporaire...

Si tu as une idée...

Merci d'avance, Dan




Avatar
Dan
DELETE TEnvois.*, TEnvois.Env_Doc
FROM [RSuppressionEnvoisEntité avec Groupe Préparation] INNER JOIN TEnvois
ON [RSuppressionEnvoisEntité avec Groupe Préparation].Mem_Code =
TEnvois.Env_Mem
WHERE (((TEnvois.Env_Doc)=[forms]![Documents]![Acces]))
WITH OWNERACCESS OPTION;

Voilà Gilbert,

Comme tu vois, la suppression ne porte que sur la table Envois, pour les
enregistrements qui sont liés à la requête sélection de préparation :

SELECT TMembres.Mem_Code
FROM TNiveaux INNER JOIN ((Appartenances INNER JOIN TMembres ON
Appartenances.A_Membre = TMembres.Mem_Code) INNER JOIN Groupes ON
Appartenances.A_Groupe = Groupes.G_Code) ON TNiveaux.Niv_Code =
TMembres.Mem_Niveau
WHERE (((Groupes.G_Entité)=[forms]![Dialogue Génération Envoi]![Entités])
AND ((TNiveaux.Niv_Libellé) Between [forms]![Dialogue Génération
Envoi]![NiveauxDébut] And [forms]![Dialogue Génération Envoi]![NiveauxFin])
AND ((Appartenances.A_Groupe)=[forms]![Dialogue Génération
Envoi]![Groupes]))
WITH OWNERACCESS OPTION;

... qui ne mentionne nulle part la table Envoi, quant à elle...
Avatar
Gilbert
Bonsoir,

J'ai fait des essais avec des tables un peu semblables. Je n'ai pas eu de
problème pour supprimer.
Est-ce que ton formulaire ne comporte pas un sous-formulaire lié à
l'enregistrement que tu veux supprimer?

Gilbert


"Dan" a écrit dans le message
de news:44915b5b$0$864$
DELETE TEnvois.*, TEnvois.Env_Doc
FROM [RSuppressionEnvoisEntité avec Groupe Préparation] INNER JOIN TEnvois
ON [RSuppressionEnvoisEntité avec Groupe Préparation].Mem_Code > TEnvois.Env_Mem
WHERE (((TEnvois.Env_Doc)=[forms]![Documents]![Acces]))
WITH OWNERACCESS OPTION;

Voilà Gilbert,

Comme tu vois, la suppression ne porte que sur la table Envois, pour les
enregistrements qui sont liés à la requête sélection de préparation :

SELECT TMembres.Mem_Code
FROM TNiveaux INNER JOIN ((Appartenances INNER JOIN TMembres ON
Appartenances.A_Membre = TMembres.Mem_Code) INNER JOIN Groupes ON
Appartenances.A_Groupe = Groupes.G_Code) ON TNiveaux.Niv_Code > TMembres.Mem_Niveau
WHERE (((Groupes.G_Entité)=[forms]![Dialogue Génération Envoi]![Entités])
AND ((TNiveaux.Niv_Libellé) Between [forms]![Dialogue Génération
Envoi]![NiveauxDébut] And [forms]![Dialogue Génération
Envoi]![NiveauxFin])

AND ((Appartenances.A_Groupe)=[forms]![Dialogue Génération
Envoi]![Groupes]))
WITH OWNERACCESS OPTION;

... qui ne mentionne nulle part la table Envoi, quant à elle...





Avatar
Dan
Bonjour Gilbert,

Oui, j'ai un formulaire ouvert avec les enregistrements à supprimer qui sont
affichés, et sur lequel Suppression autorisée est à non (sur mes forms, pour
supprimer en enregistrement, il faut presser un bouton qui autorise d'abord
la suppression)...

Mais ce qui m'étonne, c'est que l'ajout se passe dans les mêmes conditions,
et que je n'ai aucun problème. De même, sur d'autres forms, cette façon de
procéder ne pose pas le même problème...

Je vais voir si je peux fermer le formulaire le temps de la suppression...

Merci en tout cas,
A+ Dan