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

Table mère et tables filles

13 réponses
Avatar
Luis
Bonjour,
J'ai voulu faire la liaison des tables avec int=E9grit=E9=20
r=E9f=E9rentielle dans la base source et cocher "suppression=20
en cascade"=20
Mais je ne peux pas car des donn=E9es existent dans les=20
tables filles, mais pas dans la table m=E8re.

Alors, il y aurait-il moyen de cr=E9er un code VBA =E0=20
l'ouverture du formulaire concern=E9, pour qu'il teste et=20
compare les tables et supprime automatiquement tous les=20
enregistrements orphelins dans les tables filles.
Je suis sur une table DAO.
Merci.
Luis

10 réponses

1 2
Avatar
Raymond [mvp]
Bonjour.

avec l'intégrité référentielle, l'effacement en cascade et la mise àjour en
cascade et le type de jointure 1, tu ne dois pas avoir d'orphelines. il
suffit de mettre à jour une bonne fois pour toutes ta table filles avec une
requête suppression et mettre tes relations désirées pour que tout rentre
dans l'ordre.

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


"Luis" a écrit dans le message de
news:06da01c3dc0d$3896ac30$
Bonjour,
J'ai voulu faire la liaison des tables avec intégrité
référentielle dans la base source et cocher "suppression
en cascade"
Mais je ne peux pas car des données existent dans les
tables filles, mais pas dans la table mère.

Alors, il y aurait-il moyen de créer un code VBA à
l'ouverture du formulaire concerné, pour qu'il teste et
compare les tables et supprime automatiquement tous les
enregistrements orphelins dans les tables filles.
Je suis sur une table DAO.
Merci.
Luis
Avatar
Luis
Bonjour,
Je fais avec une requête de non correspondance, qui me
sort une liste et je supprime à la main les
enregistrements dans les tables fille, mais quel boulot.
Il y a t'il un moyen plus simple?
Merci.
Luis
-----Message d'origine-----
Bonjour.

avec l'intégrité référentielle, l'effacement en cascade
et la mise àjour en

cascade et le type de jointure 1, tu ne dois pas avoir
d'orphelines. il

suffit de mettre à jour une bonne fois pour toutes ta
table filles avec une

requête suppression et mettre tes relations désirées
pour que tout rentre

dans l'ordre.

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


"Luis" a écrit
dans le message de

news:06da01c3dc0d$3896ac30$
Bonjour,
J'ai voulu faire la liaison des tables avec intégrité
référentielle dans la base source et cocher "suppression
en cascade"
Mais je ne peux pas car des données existent dans les
tables filles, mais pas dans la table mère.

Alors, il y aurait-il moyen de créer un code VBA à
l'ouverture du formulaire concerné, pour qu'il teste et
compare les tables et supprime automatiquement tous les
enregistrements orphelins dans les tables filles.
Je suis sur une table DAO.
Merci.
Luis



.



Avatar
Raymond [mvp]
le plus simple et le plus rapide , tu crées un champ oui/non dans ta base,
tu mets non dans les enregistrements sans filles ou oui dans les
enregistrements avec filles. tu fais une requête suppression avec critère
oui ou non selon ce que tu as mis.

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


"Luis" a écrit dans le message de
news:097901c3dc1c$447e9fd0$
Bonjour,
Je fais avec une requête de non correspondance, qui me
sort une liste et je supprime à la main les
enregistrements dans les tables fille, mais quel boulot.
Il y a t'il un moyen plus simple?
Merci.
Luis
Avatar
Damien Mermoz
Bonjour,
Sauvegarde ta requete de non correspondance
Puis crée un requete suppression basée sur ta requête de non corespondance
et là tu supprime tout.

En espèrant t'aider.

A +
Damien.
"Luis" a écrit dans le message de
news:097901c3dc1c$447e9fd0$
Bonjour,
Je fais avec une requête de non correspondance, qui me
sort une liste et je supprime à la main les
enregistrements dans les tables fille, mais quel boulot.
Il y a t'il un moyen plus simple?
Merci.
Luis
-----Message d'origine-----
Bonjour.

avec l'intégrité référentielle, l'effacement en cascade
et la mise àjour en

cascade et le type de jointure 1, tu ne dois pas avoir
d'orphelines. il

suffit de mettre à jour une bonne fois pour toutes ta
table filles avec une

requête suppression et mettre tes relations désirées
pour que tout rentre

dans l'ordre.

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


"Luis" a écrit
dans le message de

news:06da01c3dc0d$3896ac30$
Bonjour,
J'ai voulu faire la liaison des tables avec intégrité
référentielle dans la base source et cocher "suppression
en cascade"
Mais je ne peux pas car des données existent dans les
tables filles, mais pas dans la table mère.

Alors, il y aurait-il moyen de créer un code VBA à
l'ouverture du formulaire concerné, pour qu'il teste et
compare les tables et supprime automatiquement tous les
enregistrements orphelins dans les tables filles.
Je suis sur une table DAO.
Merci.
Luis



.



Avatar
Luis
Bonjour,
Très bonne idée, comment faire la requête suppression à
partir de la requête de non correspondance.
Merci.
Luis
-----Message d'origine-----
Bonjour,
Sauvegarde ta requete de non correspondance
Puis crée un requete suppression basée sur ta requête de
non corespondance

et là tu supprime tout.

En espèrant t'aider.

A +
Damien.
"Luis" a écrit
dans le message de

news:097901c3dc1c$447e9fd0$
Bonjour,
Je fais avec une requête de non correspondance, qui me
sort une liste et je supprime à la main les
enregistrements dans les tables fille, mais quel boulot.
Il y a t'il un moyen plus simple?
Merci.
Luis
-----Message d'origine-----
Bonjour.

avec l'intégrité référentielle, l'effacement en cascade
et la mise àjour en

cascade et le type de jointure 1, tu ne dois pas avoir
d'orphelines. il

suffit de mettre à jour une bonne fois pour toutes ta
table filles avec une

requête suppression et mettre tes relations désirées
pour que tout rentre

dans l'ordre.

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


"Luis" a écrit
dans le message de

news:06da01c3dc0d$3896ac30$
Bonjour,
J'ai voulu faire la liaison des tables avec intégrité
référentielle dans la base source et cocher "suppression
en cascade"
Mais je ne peux pas car des données existent dans les
tables filles, mais pas dans la table mère.

Alors, il y aurait-il moyen de créer un code VBA à
l'ouverture du formulaire concerné, pour qu'il teste et
compare les tables et supprime automatiquement tous les
enregistrements orphelins dans les tables filles.
Je suis sur une table DAO.
Merci.
Luis



.




.




Avatar
Damien Mermoz
Re
ben comme je t'ai dis :-)
Quand tu es en mode création d'une nouvelle requête Access te montre les
tables disponible mais il y a aussi un onglet requette.(tu peux faire aussi
menurequeteafficher la table ) Tu cliques dessus et tu choisis ta requête
de non correspondance.
Ensuite tu fais menurequete et tu choisis suppression
Tu prends tous les champs de ta requête, tu exécutes et logiquement ça
marche.

A +
Damien.
"Luis" a écrit dans le message de
news:0a9001c3dc22$88e2a760$
Bonjour,
Très bonne idée, comment faire la requête suppression à
partir de la requête de non correspondance.
Merci.
Luis
-----Message d'origine-----
Bonjour,
Sauvegarde ta requete de non correspondance
Puis crée un requete suppression basée sur ta requête de
non corespondance

et là tu supprime tout.

En espèrant t'aider.

A +
Damien.
"Luis" a écrit
dans le message de

news:097901c3dc1c$447e9fd0$
Bonjour,
Je fais avec une requête de non correspondance, qui me
sort une liste et je supprime à la main les
enregistrements dans les tables fille, mais quel boulot.
Il y a t'il un moyen plus simple?
Merci.
Luis
-----Message d'origine-----
Bonjour.

avec l'intégrité référentielle, l'effacement en cascade
et la mise àjour en

cascade et le type de jointure 1, tu ne dois pas avoir
d'orphelines. il

suffit de mettre à jour une bonne fois pour toutes ta
table filles avec une

requête suppression et mettre tes relations désirées
pour que tout rentre

dans l'ordre.

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


"Luis" a écrit
dans le message de

news:06da01c3dc0d$3896ac30$
Bonjour,
J'ai voulu faire la liaison des tables avec intégrité
référentielle dans la base source et cocher "suppression
en cascade"
Mais je ne peux pas car des données existent dans les
tables filles, mais pas dans la table mère.

Alors, il y aurait-il moyen de créer un code VBA à
l'ouverture du formulaire concerné, pour qu'il teste et
compare les tables et supprime automatiquement tous les
enregistrements orphelins dans les tables filles.
Je suis sur une table DAO.
Merci.
Luis



.




.




Avatar
Luis
Bonjour,
Je dois avoir la tête dans le cul.
J'ai bien créé un requêt de non correspondance, mais je
ne trouve pas "Menu/requête" pour choisir suppression.
Où est-ce ça ce trouve, le menu/requête pour choisir
suppression?
Merci.
Luis
-----Message d'origine-----
Re
ben comme je t'ai dis :-)
Quand tu es en mode création d'une nouvelle requête
Access te montre les

tables disponible mais il y a aussi un onglet requette.
(tu peux faire aussi

menurequeteafficher la table ) Tu cliques dessus et tu
choisis ta requête

de non correspondance.
Ensuite tu fais menurequete et tu choisis suppression
Tu prends tous les champs de ta requête, tu exécutes et
logiquement ça

marche.

A +
Damien.
"Luis" a écrit
dans le message de

news:0a9001c3dc22$88e2a760$
Bonjour,
Très bonne idée, comment faire la requête suppression à
partir de la requête de non correspondance.
Merci.
Luis
-----Message d'origine-----
Bonjour,
Sauvegarde ta requete de non correspondance
Puis crée un requete suppression basée sur ta requête de
non corespondance

et là tu supprime tout.

En espèrant t'aider.

A +
Damien.
"Luis" a écrit
dans le message de

news:097901c3dc1c$447e9fd0$
Bonjour,
Je fais avec une requête de non correspondance, qui me
sort une liste et je supprime à la main les
enregistrements dans les tables fille, mais quel boulot.
Il y a t'il un moyen plus simple?
Merci.
Luis
-----Message d'origine-----
Bonjour.

avec l'intégrité référentielle, l'effacement en cascade
et la mise àjour en

cascade et le type de jointure 1, tu ne dois pas avoir
d'orphelines. il

suffit de mettre à jour une bonne fois pour toutes ta
table filles avec une

requête suppression et mettre tes relations désirées
pour que tout rentre

dans l'ordre.

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


"Luis" a écrit
dans le message de

news:06da01c3dc0d$3896ac30$
Bonjour,
J'ai voulu faire la liaison des tables avec intégrité
référentielle dans la base source et
cocher "suppression



en cascade"
Mais je ne peux pas car des données existent dans les
tables filles, mais pas dans la table mère.

Alors, il y aurait-il moyen de créer un code VBA à
l'ouverture du formulaire concerné, pour qu'il teste et
compare les tables et supprime automatiquement tous les
enregistrements orphelins dans les tables filles.
Je suis sur une table DAO.
Merci.
Luis



.




.




.





Avatar
Damien Mermoz
Bon tu fais ta requete de non correspondance. Tu fermes cette requete tu
sauvegarde.
Ensuite tu crées une nouvelle requete en mode création. Access te demande de
choisir une table tu choisis l'onglet requete et tu séléctionnes ta requête
de non correspondance
Ensuite dans le menu (en Haut) Il y a "requete" (entre insertion et outils)
tu cliques et tu choisis requete suppression.
en sql si tu préfères ca te donne
delete *
from [ta requete de non correspondance];
ok ?

A +
Damien.
"Luis" a écrit dans le message de
news:07ec01c3dc29$25052590$
Bonjour,
Je dois avoir la tête dans le cul.
J'ai bien créé un requêt de non correspondance, mais je
ne trouve pas "Menu/requête" pour choisir suppression.
Où est-ce ça ce trouve, le menu/requête pour choisir
suppression?
Merci.
Luis
-----Message d'origine-----
Re
ben comme je t'ai dis :-)
Quand tu es en mode création d'une nouvelle requête
Access te montre les

tables disponible mais il y a aussi un onglet requette.
(tu peux faire aussi

menurequeteafficher la table ) Tu cliques dessus et tu
choisis ta requête

de non correspondance.
Ensuite tu fais menurequete et tu choisis suppression
Tu prends tous les champs de ta requête, tu exécutes et
logiquement ça

marche.

A +
Damien.
"Luis" a écrit
dans le message de

news:0a9001c3dc22$88e2a760$
Bonjour,
Très bonne idée, comment faire la requête suppression à
partir de la requête de non correspondance.
Merci.
Luis
-----Message d'origine-----
Bonjour,
Sauvegarde ta requete de non correspondance
Puis crée un requete suppression basée sur ta requête de
non corespondance

et là tu supprime tout.

En espèrant t'aider.

A +
Damien.
"Luis" a écrit
dans le message de

news:097901c3dc1c$447e9fd0$
Bonjour,
Je fais avec une requête de non correspondance, qui me
sort une liste et je supprime à la main les
enregistrements dans les tables fille, mais quel boulot.
Il y a t'il un moyen plus simple?
Merci.
Luis
-----Message d'origine-----
Bonjour.

avec l'intégrité référentielle, l'effacement en cascade
et la mise àjour en

cascade et le type de jointure 1, tu ne dois pas avoir
d'orphelines. il

suffit de mettre à jour une bonne fois pour toutes ta
table filles avec une

requête suppression et mettre tes relations désirées
pour que tout rentre

dans l'ordre.

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


"Luis" a écrit
dans le message de

news:06da01c3dc0d$3896ac30$
Bonjour,
J'ai voulu faire la liaison des tables avec intégrité
référentielle dans la base source et
cocher "suppression



en cascade"
Mais je ne peux pas car des données existent dans les
tables filles, mais pas dans la table mère.

Alors, il y aurait-il moyen de créer un code VBA à
l'ouverture du formulaire concerné, pour qu'il teste et
compare les tables et supprime automatiquement tous les
enregistrements orphelins dans les tables filles.
Je suis sur une table DAO.
Merci.
Luis



.




.




.





Avatar
Luis
Bonjour,
J'ai fais comme tu m'as dit et voilà un autre problème:

Impossible de supprimer dans les tables spécifiées.
(Erreur 3086)
Vous avez essayé de supprimer des données d'une ou
plusieurs tables, mais la suppression ne peut pas être
menée à terme.
Je ne comprend pas car la base n'est pas en lecture seule.
Si tu sais pour quelles raisons Access refuse?
Merci.
Luis
-----Message d'origine-----
Bon tu fais ta requete de non correspondance. Tu fermes
cette requete tu

sauvegarde.
Ensuite tu crées une nouvelle requete en mode création.
Access te demande de

choisir une table tu choisis l'onglet requete et tu
séléctionnes ta requête

de non correspondance
Ensuite dans le menu (en Haut) Il y a "requete" (entre
insertion et outils)

tu cliques et tu choisis requete suppression.
en sql si tu préfères ca te donne
delete *
from [ta requete de non correspondance];
ok ?

A +
Damien.
"Luis" a écrit
dans le message de

news:07ec01c3dc29$25052590$
Bonjour,
Je dois avoir la tête dans le cul.
J'ai bien créé un requêt de non correspondance, mais je
ne trouve pas "Menu/requête" pour choisir suppression.
Où est-ce ça ce trouve, le menu/requête pour choisir
suppression?
Merci.
Luis
-----Message d'origine-----
Re
ben comme je t'ai dis :-)
Quand tu es en mode création d'une nouvelle requête
Access te montre les

tables disponible mais il y a aussi un onglet requette.
(tu peux faire aussi

menurequeteafficher la table ) Tu cliques dessus et tu
choisis ta requête

de non correspondance.
Ensuite tu fais menurequete et tu choisis suppression
Tu prends tous les champs de ta requête, tu exécutes et
logiquement ça

marche.

A +
Damien.
"Luis" a écrit
dans le message de

news:0a9001c3dc22$88e2a760$
Bonjour,
Très bonne idée, comment faire la requête suppression à
partir de la requête de non correspondance.
Merci.
Luis
-----Message d'origine-----
Bonjour,
Sauvegarde ta requete de non correspondance
Puis crée un requete suppression basée sur ta requête
de



non corespondance
et là tu supprime tout.

En espèrant t'aider.

A +
Damien.
"Luis" a écrit
dans le message de

news:097901c3dc1c$447e9fd0$
Bonjour,
Je fais avec une requête de non correspondance, qui me
sort une liste et je supprime à la main les
enregistrements dans les tables fille, mais quel
boulot.



Il y a t'il un moyen plus simple?
Merci.
Luis
-----Message d'origine-----
Bonjour.

avec l'intégrité référentielle, l'effacement en
cascade




et la mise àjour en
cascade et le type de jointure 1, tu ne dois pas avoir
d'orphelines. il

suffit de mettre à jour une bonne fois pour toutes ta
table filles avec une

requête suppression et mettre tes relations désirées
pour que tout rentre

dans l'ordre.

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


"Luis" a écrit
dans le message de

news:06da01c3dc0d$3896ac30$
Bonjour,
J'ai voulu faire la liaison des tables avec intégrité
référentielle dans la base source et
cocher "suppression



en cascade"
Mais je ne peux pas car des données existent dans les
tables filles, mais pas dans la table mère.

Alors, il y aurait-il moyen de créer un code VBA à
l'ouverture du formulaire concerné, pour qu'il teste
et




compare les tables et supprime automatiquement tous
les




enregistrements orphelins dans les tables filles.
Je suis sur une table DAO.
Merci.
Luis



.




.




.




.






Avatar
Damien Mermoz
?
Là, j'avoue que j'en sais rien. Ma solution n'est sans doute pas adaptée à
ton problème, excuse moi.
Lorsque tu ouvres ta requête de non correspondance en mode feuille de donnée
peux tu supprimer les enregistrements en faisant [CTRL] + A puis touche
[suppr] ?
Comme ça, ça marche ??

Sinon je passe la main.

A +
Damien.


"Luis" a écrit dans le message de
news:0b6101c3dc3e$bf7d0330$
Bonjour,
J'ai fais comme tu m'as dit et voilà un autre problème:

Impossible de supprimer dans les tables spécifiées.
(Erreur 3086)
Vous avez essayé de supprimer des données d'une ou
plusieurs tables, mais la suppression ne peut pas être
menée à terme.
Je ne comprend pas car la base n'est pas en lecture seule.
Si tu sais pour quelles raisons Access refuse?
Merci.
Luis
-----Message d'origine-----
Bon tu fais ta requete de non correspondance. Tu fermes
cette requete tu

sauvegarde.
Ensuite tu crées une nouvelle requete en mode création.
Access te demande de

choisir une table tu choisis l'onglet requete et tu
séléctionnes ta requête

de non correspondance
Ensuite dans le menu (en Haut) Il y a "requete" (entre
insertion et outils)

tu cliques et tu choisis requete suppression.
en sql si tu préfères ca te donne
delete *
from [ta requete de non correspondance];
ok ?

A +
Damien.
"Luis" a écrit
dans le message de

news:07ec01c3dc29$25052590$
Bonjour,
Je dois avoir la tête dans le cul.
J'ai bien créé un requêt de non correspondance, mais je
ne trouve pas "Menu/requête" pour choisir suppression.
Où est-ce ça ce trouve, le menu/requête pour choisir
suppression?
Merci.
Luis
-----Message d'origine-----
Re
ben comme je t'ai dis :-)
Quand tu es en mode création d'une nouvelle requête
Access te montre les

tables disponible mais il y a aussi un onglet requette.
(tu peux faire aussi

menurequeteafficher la table ) Tu cliques dessus et tu
choisis ta requête

de non correspondance.
Ensuite tu fais menurequete et tu choisis suppression
Tu prends tous les champs de ta requête, tu exécutes et
logiquement ça

marche.

A +
Damien.
"Luis" a écrit
dans le message de

news:0a9001c3dc22$88e2a760$
Bonjour,
Très bonne idée, comment faire la requête suppression à
partir de la requête de non correspondance.
Merci.
Luis
-----Message d'origine-----
Bonjour,
Sauvegarde ta requete de non correspondance
Puis crée un requete suppression basée sur ta requête
de



non corespondance
et là tu supprime tout.

En espèrant t'aider.

A +
Damien.
"Luis" a écrit
dans le message de

news:097901c3dc1c$447e9fd0$
Bonjour,
Je fais avec une requête de non correspondance, qui me
sort une liste et je supprime à la main les
enregistrements dans les tables fille, mais quel
boulot.



Il y a t'il un moyen plus simple?
Merci.
Luis
-----Message d'origine-----
Bonjour.

avec l'intégrité référentielle, l'effacement en
cascade




et la mise àjour en
cascade et le type de jointure 1, tu ne dois pas avoir
d'orphelines. il

suffit de mettre à jour une bonne fois pour toutes ta
table filles avec une

requête suppression et mettre tes relations désirées
pour que tout rentre

dans l'ordre.

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


"Luis" a écrit
dans le message de

news:06da01c3dc0d$3896ac30$
Bonjour,
J'ai voulu faire la liaison des tables avec intégrité
référentielle dans la base source et
cocher "suppression



en cascade"
Mais je ne peux pas car des données existent dans les
tables filles, mais pas dans la table mère.

Alors, il y aurait-il moyen de créer un code VBA à
l'ouverture du formulaire concerné, pour qu'il teste
et




compare les tables et supprime automatiquement tous
les




enregistrements orphelins dans les tables filles.
Je suis sur une table DAO.
Merci.
Luis



.




.




.




.






1 2