OVH Cloud OVH Cloud

delete ou delete pas

6 réponses
Avatar
ggece1
bonjour,

je veux effacer d'une table les lignes qui se retrouve dans une deuxieme
table.Les deux tables ont la meme structure.

delete [table1].*,[table2] from [table1] where [table1].col1=[table2].col2
ou un truc dans ce style

Pourquoi access me dit : impossible de supprimer dans les tables spécifiées
.

merci

6 réponses

Avatar
Raymond [mvp]
Bonsoir.

essaie plutôt ceci:
DELETE table1.*
FROM table1 INNER JOIN table2 ON table1.Numéro = table2.Numéro;

pense à faire une copie de la table avant de l'exécuter

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ggece1" a écrit dans le message de
news:buupdk$ml4$
bonjour,

je veux effacer d'une table les lignes qui se retrouve dans une deuxieme
table.Les deux tables ont la meme structure.

delete [table1].*,[table2] from [table1] where [table1].col1=[table2].col2
ou un truc dans ce style

Pourquoi access me dit : impossible de supprimer dans les tables
spécifiées

.

merci




Avatar
ggece1
j'ai essayé cela :

DELETE Table1.*
FROM Table1 INNER JOIN Table2 ON [Table1].[type]=[Table2].[type]

j'ai le même probleme : impossible de supprimer dans les tables spécifiées.

Pourtant la requete est bonne . en mode feuille de données les bonnes
valeurs sont selectionnées.

A l'aide ..........

"Raymond [mvp]" a écrit dans le message de
news: #
Bonsoir.

essaie plutôt ceci:
DELETE table1.*
FROM table1 INNER JOIN table2 ON table1.Numéro = table2.Numéro;

pense à faire une copie de la table avant de l'exécuter

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ggece1" a écrit dans le message de
news:buupdk$ml4$
bonjour,

je veux effacer d'une table les lignes qui se retrouve dans une deuxieme
table.Les deux tables ont la meme structure.

delete [table1].*,[table2] from [table1] where
[table1].col1=[table2].col2


ou un truc dans ce style

Pourquoi access me dit : impossible de supprimer dans les tables
spécifiées

.

merci








Avatar
Raymond [mvp]
Bonjour.
ta requête doit être de ce genre:
DELETE table1.*
FROM table1 INNER JOIN TABLE2 ON table1.Numéro = TABLE2.Numéro
WHERE (((table1.Type)=[TABLE2]![Type]));

sous condition que:
-pas d'intégrité référentielle
-jointure hors code 1 (donc pas d'intégrité référentielle)
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ggece1" a écrit dans le message de
news:bv04s4$2ir$
j'ai essayé cela :

DELETE Table1.*
FROM Table1 INNER JOIN Table2 ON [Table1].[type]=[Table2].[type]

j'ai le même probleme : impossible de supprimer dans les tables
spécifiées.


Pourtant la requete est bonne . en mode feuille de données les bonnes
valeurs sont selectionnées.

A l'aide ..........


Avatar
ggece1
merci,

je ne comprend pas tres bien ( novice )

integrite referencielle : comment savoir
et jointure code 1 ??? est ce que c'est la propriete de la jointure ? dans
ce cas 1 ou 2 donne la meme erreur

lorsque tu parles de Numéro est ce un champ comme un autre ou une cle
primaire?

"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.
ta requête doit être de ce genre:
DELETE table1.*
FROM table1 INNER JOIN TABLE2 ON table1.Numéro = TABLE2.Numéro
WHERE (((table1.Type)=[TABLE2]![Type]));

sous condition que:
-pas d'intégrité référentielle
-jointure hors code 1 (donc pas d'intégrité référentielle)
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ggece1" a écrit dans le message de
news:bv04s4$2ir$
j'ai essayé cela :

DELETE Table1.*
FROM Table1 INNER JOIN Table2 ON [Table1].[type]=[Table2].[type]

j'ai le même probleme : impossible de supprimer dans les tables
spécifiées.


Pourtant la requete est bonne . en mode feuille de données les bonnes
valeurs sont selectionnées.

A l'aide ..........






Avatar
Raymond [mvp]
Bonjour.

Quand je dis numéro dans l'exemple c'est la clé primaire et le champ qui est
en relation avec l'autre champ numéro dans l'autre table. c'est un exemple.
Si tu modifies la jointure de la relation ( clic droit sur la ligne de
jointure) access t'indique 3 options. Si tu choisis les jointures 2 ou 3, il
ne peut pas y avoir intégrité référentielle donc tu peux supprimer sur une
table.S'il y a intégrité référentielle entre les deux tables, la suppression
sur une seule table ne se réalise pas.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ggece1" a écrit dans le message de
news:bv1gum$6m3$
merci,

je ne comprend pas tres bien ( novice )

integrite referencielle : comment savoir
et jointure code 1 ??? est ce que c'est la propriete de la jointure ?
dans

ce cas 1 ou 2 donne la meme erreur

lorsque tu parles de Numéro est ce un champ comme un autre ou une cle
primaire?



Avatar
ggece1
en fouillant dans les jointure :

delete distinctrow table1.* inner join table2 on ....

mais alors pourquoi distinctrow autorise un delete ????


"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.
ta requête doit être de ce genre:
DELETE table1.*
FROM table1 INNER JOIN TABLE2 ON table1.Numéro = TABLE2.Numéro
WHERE (((table1.Type)=[TABLE2]![Type]));

sous condition que:
-pas d'intégrité référentielle
-jointure hors code 1 (donc pas d'intégrité référentielle)
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ggece1" a écrit dans le message de
news:bv04s4$2ir$
j'ai essayé cela :

DELETE Table1.*
FROM Table1 INNER JOIN Table2 ON [Table1].[type]=[Table2].[type]

j'ai le même probleme : impossible de supprimer dans les tables
spécifiées.


Pourtant la requete est bonne . en mode feuille de données les bonnes
valeurs sont selectionnées.

A l'aide ..........