Bug requete suppression Access 2000

Le
Gaulois
En suivant l'exemple sur la suppression d'enreg dans une table à partir d'un
champ identique d'une autre table (mis en relation), la suppression n'est pas
possible.

ex : colonne 1 de la requete : tous les champs de la table A (*) , table A,
"à partir de" - colonne 2 champ en relation, table B, où
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
ze Titi
Le #6190591
*Bonjour* à toi aussi Gaulois !

Ca n'est pas très clair...
Plus d'informations sur
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm

Dans ton message
En suivant l'exemple sur la suppression d'enreg dans une table à partir d'un
champ identique d'une autre table (mis en relation), la suppression n'est pas
possible.

ex : colonne 1 de la requete : tous les champs de la table A (*) , table A,
"à partir de" - colonne 2 champ en relation, table B, où


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info

Eric
Le #6190501
Bonjour,

A tester sur une copie de la table où les enregistrements seront
supprimés (à copier dans la fenêtre SQL d'une nouvelle requête):
DELETE FROM TABLEA
WHERE ChampCommun IN (
SELECT DISTINCT ChampCommun
FROM TABLEB
);
ça donne quoi ?

En suivant l'exemple sur la suppression d'enreg dans une table à partir d'un
champ identique d'une autre table (mis en relation), la suppression n'est pas
possible.

ex : colonne 1 de la requete : tous les champs de la table A (*) , table A,
"à partir de" - colonne 2 champ en relation, table B, où


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Gaulois
Le #6190401
Bonjour Eric,

Merci pour cette solution qui fonctionne, mais supprime les enregistrements
concernés dans les 2 tables. J'aurai voulu supprimer les enreg uniquement
dans la table A. (Comme indiqué dans le code SQL)

Si je modifie les relations entre les 2 tables ( coche : Appliquer
l'intégrité référentielle ; Effacer en cascade les enregistremens
correspondants) la suppression ne fonctionne plus.
Je ne comprend pas.



Bonjour,

A tester sur une copie de la table où les enregistrements seront
supprimés (à copier dans la fenêtre SQL d'une nouvelle requête):
DELETE FROM TABLEA
WHERE ChampCommun IN (
SELECT DISTINCT ChampCommun
FROM TABLEB
);
ça donne quoi ?

En suivant l'exemple sur la suppression d'enreg dans une table à partir d'un
champ identique d'une autre table (mis en relation), la suppression n'est pas
possible.

ex : colonne 1 de la requete : tous les champs de la table A (*) , table A,
"à partir de" - colonne 2 champ en relation, table B, où


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Gaulois
Le #6190391
Bonjour,
Eric m'a donné un bon début de réponse avec du code sql direct, mais le hic
c'est que çà supprime dans les 2 tables.


*Bonjour* à toi aussi Gaulois !

Ca n'est pas très clair...
Plus d'informations sur
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm

Dans ton message
En suivant l'exemple sur la suppression d'enreg dans une table à partir d'un
champ identique d'une autre table (mis en relation), la suppression n'est pas
possible.

ex : colonne 1 de la requete : tous les champs de la table A (*) , table A,
"à partir de" - colonne 2 champ en relation, table B, où


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info






Eric
Le #6190381
Bonsoir,

Le SQL donné ne supprime les enregistrements que dans la TableA sauf ci
cette derniere est en relation avec une autre table avec effacement en
cascade (mais tu n'en parlais pas). La table B est en rien affecté là.
Dans ce SQL il n' y a pas de jointure entre les tables.
Plus précisément, le problème c'est quoi ?

Bonjour Eric,

Merci pour cette solution qui fonctionne, mais supprime les enregistrements
concernés dans les 2 tables. J'aurai voulu supprimer les enreg uniquement
dans la table A. (Comme indiqué dans le code SQL)

Si je modifie les relations entre les 2 tables ( coche : Appliquer
l'intégrité référentielle ; Effacer en cascade les enregistremens
correspondants) la suppression ne fonctionne plus.
Je ne comprend pas.


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Gaulois
Le #6190351
Bonjour Eric,

Dans "Outils"; "Relations" , les 2 tables sont en relations avec l'intégrité
référentielle et l'effacement en cascade.
Dans la requete suppresion j'insère uniquement la table A, où doivent
réellement être supprimés les enregistrements contenus dans la table B. J'ai
inséré ton code SQL, dans la requete. La requete fonctionne mais supprime les
enreg concernés dans les 2 tables.

Mais si je supprime dans les relations, l'effacement en cascade, quand
j'exécute la requete m'avertit qu'elle va supprimer "n" enregistrements, (je
valide), puis m'indique qu'elle ne pourra supprimer ces enregistrements,
voici le message : "Impossible d'effacer les "n" enregistrements de la
requete Suppression à la suite de violation de clé et 0 enregistrements à la
suite de violation de verrou.



Bonsoir,

Le SQL donné ne supprime les enregistrements que dans la TableA sauf ci
cette derniere est en relation avec une autre table avec effacement en
cascade (mais tu n'en parlais pas). La table B est en rien affecté là.
Dans ce SQL il n' y a pas de jointure entre les tables.
Plus précisément, le problème c'est quoi ?

Bonjour Eric,

Merci pour cette solution qui fonctionne, mais supprime les enregistrements
concernés dans les 2 tables. J'aurai voulu supprimer les enreg uniquement
dans la table A. (Comme indiqué dans le code SQL)

Si je modifie les relations entre les 2 tables ( coche : Appliquer
l'intégrité référentielle ; Effacer en cascade les enregistremens
correspondants) la suppression ne fonctionne plus.
Je ne comprend pas.


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Gaulois
Le #6190071
re-bonjour Eric,

ton code SQL fonctionne bien. Finalement j'ai supprimé les tables dans
"outils"; "relations" , et çà fonctionne bien.
Merci encore pour ton aide.




Bonsoir,

Le SQL donné ne supprime les enregistrements que dans la TableA sauf ci
cette derniere est en relation avec une autre table avec effacement en
cascade (mais tu n'en parlais pas). La table B est en rien affecté là.
Dans ce SQL il n' y a pas de jointure entre les tables.
Plus précisément, le problème c'est quoi ?

Bonjour Eric,

Merci pour cette solution qui fonctionne, mais supprime les enregistrements
concernés dans les 2 tables. J'aurai voulu supprimer les enreg uniquement
dans la table A. (Comme indiqué dans le code SQL)

Si je modifie les relations entre les 2 tables ( coche : Appliquer
l'intégrité référentielle ; Effacer en cascade les enregistremens
correspondants) la suppression ne fonctionne plus.
Je ne comprend pas.


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Publicité
Poster une réponse
Anonyme