{Access} suppression d'enregistrement

Fermé
marybess - 4 août 2009 à 22:34
incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 - 5 août 2009 à 12:19
Bonjour,
je ne connais pas trop le logiciel access , cependant j'ai a travers mon stage pour mission de résoudre quelques problèmes dans la base de données.

Mon job est le suivant: je dois pouvoir supprimer ou modifier des enregistrements d'un formulaire sans que ces changements se répercutent ni sur les formulaires en cours ni sur les formulaires terminés mémorisés dans la base.

Problème n°1: cet enregistrement se trouve sur deux table et je ne veux pas l'enlever de la deuxième.
Problème n°2:on me dit que les données de la deuxième table ne respectent pas les règles d'intégrité référentielle

J'espère que quelqu'un pourra m'aider car je ne sais plus ou donner de la tête.
A voir également:

1 réponse

incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 74
5 août 2009 à 12:19
Salut.

Je vois ton embarras. Voici quelques précisions qui je l'espère t'aideront à mieux cerner Access.

Les données sont stockées dans des tables et non dans les formulaires. Les formulaires servent à visualiser les données et à mettre à disposition des utilisateurs des boutons qui leur permettront d'agir sur les données affichées dans le formulaire.

En gros si tu supprimes les données affichées dans un formulaire, tu supprimes en fait les données dans la table qui est lue par ce formulaire. Ces données n'apparaitront donc plus dans aucun des formulaires, ni nulle part ailleurs dans la base puisqu'elles auront été effacées. Si le formulaire n'est pas mis à jour après l'effacement des données, il est possible que les données effacées continuent d'apparaitre dans le formulaire, mais ce sont des données fantômes, du au fait que le formulaire n'ayant pas relu la table, n'est pas au courant des modifications qui viennent d'y être apportées.

Pour résoudre ton problème 1, supprime les données uniquement de la table 1 sans toucher à la table 2. Toutefois, normalement dans une base de données bien construite, il n'y a pas redondances des mêmes informations.

Ton problème n° 2 signifie que ta table 2 est liée avec une autre table et que les données permettant de garantir l'intégrité référentielle ne sont pas bonnes. Deux tables peuvent être liée via un champ commun. Si tu effaces des données dans la table mère, la table fille (celle qui est lié) peut devenir incohérente, car certains de ses enregistrements ne feront plus référence à rien. C'est pour cela que l'on met des intégrités référentielles afin d'éviter ce genre de situation.
Pour être plus précis, il faudrait savoir à quoi ressemble ta table 1 et 2 en terme de champs.

Cdlt

IC
0