IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Création automatique d'enregistrement sur tables liées (en cascade) [AC-2007]


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Etudiant en Master ILSEN
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant en Master ILSEN

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Points : 11
    Points
    11
    Par défaut Création automatique d'enregistrement sur tables liées (en cascade)
    Bonjour à tous !

    Je travail actuellement pendant l'été sur un petit projet de refonte de BDD (celle ci est actuellement sous Excel) pour le service d'une administration et après avoir commencer depuis 2 semaine j'en suis arrivé à la création des formulaire.

    La modélisation et création de la base de donnée est terminé et j'ai normalement quelque chose de relativement optimisé.

    Je vous explique rapidement la partie sur laquel je bloque (si j'arrive à regler cette partie je n'aurai aucun problème pour le reste) :
    - Je dispose d'une table DOSSIER, celle ci contient différentes clef primaire qui renvoi sur d'autres tables.
    - A l'origine il était lié à 2 tables BAILLEUR et LOCATAIRE, celles ci en des relations plusieurs à plusieurs.
    - J'ai donc créer 2 table associative, respectivement A_DEMANDE et EST_COMMANDE. Celle ci contiennent donc chacune l'id_dossier et (l'id_bailleur OU id_locataire) associé.
    - Par la suite il est important de savoir qu'un LOCATAIRE peut être une PERSONNE PHYSIQUE ou une PERSONNE MORAL, il en va de même pour un BAILLEUR. J'ai donc créer ces deux tables et LOCATAIRE contient l'id_locataire, l'id_personne_physique ET l'id_personne_moral, tandis que BAILLEUR contient l'id_bailleur, l'id_personne_physique ET l'id_personne_moral.
    - Donc pour terminer en créant une personne dans un formulaire locataire physique je crée donc une entré dans la table PERSONNE PHYSIQUE

    La question est donc : Quel sont les meilleur méthodes pour qu'un enregistrement dans la table PERSONNE PHYSIQUE se répercute sur les tables liée...
    Cela sous entend qu'après l'ajout d'une enregistrement dans un formulaire, il soit ajouté (automatiquement ou via une requete) une entrée sur LOCATAIRE avec l'id_personne_physique, générant ainsi l'auto incrémentation de l'id_locataire, ce qui créer une entrée à sa table liée A_DEMANDE en ajoutant l'id_locataire associé ainsi que l'id_dossier actuel (créer précédement ou peut etre en variable global).

    Une sorte d'intégrité référentielle mais sur l'ajout... je sais pas si j'arrive à me faire comprendre... j'ai beaucoup cherché et j'aimerai connaitre vos points de vue et les méthodes utilisable pour permettre ca.

    Je maitrise sans problème la BDD, les Formulaire et les Requêtes (je n'ai pas encore utilisé de Macro).

    Pour vous donner un meilleur point de vue je récapitule les tables concerné :


    PERSONNE_PHYSIQUE(id_personne_physique, nom, prenom, ...) (Je créer une entré ici dans un formulaire d'enregistrement de locataire physique)
    LOCATAIRE (id_locataire, id_personne_physique, id_personne_moral) (La création de la personne physique se répercute ici en créant un locataire)
    EST_COMMANDE (id_dossier, id_locataire) (La création d'un locataire se répercute ici avec l'id de dossier actuel en créer une entrée dans cette table associative)

    DOSSIER (id_dossier, ...) (Cette table regroupe toute la base de donnée)

    (Et ces tables fonctionnent selon le même principe)
    PERSONNE_MORAL(id_personne_moral, nomination, abreviation, ...)
    A_DEMANDE (id_dossier, id_bailleur)
    BAILLEUR (id_bailleur, id_personne_physique, id_personne_moral)


    J'ai le rapport de relation en PNG si jamais ca vous interesse, étant donné que ce n'est pas forcement très clair...

    Je vous remercie pour toute l'aide que vous pourriez apporter et je reste dans l'attente de vos idées

  2. #2
    Membre à l'essai
    Profil pro
    Etudiant en Master ILSEN
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant en Master ILSEN

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Je me sens obligé de vous joindre la modélisation de la partie concerné, en me relisant c'est très loin d'être clair :
    Images attachées Images attachées  

  3. #3
    Membre à l'essai
    Profil pro
    Etudiant en Master ILSEN
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant en Master ILSEN

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Il me semble avoir réglé moi même mon problème, il suffisait tout simplement d'utiliser l'assistant formulaire qui permet d'associer tout dynamiquement et surtout d'activer la mise à jour en cascade avec intégrité referentielle sur les relations concerné. Donc maintenant j'ai une liste de colonne qui se remplisse automatique en fin de saisie. j'aimerai masquer toute les colonne de numéro d'id mais il me dit "impossible de masquer le contrôle actif" sur chacun

    Une idée ?

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 620
    Points : 56 857
    Points
    56 857
    Billets dans le blog
    40
    Par défaut
    Bonjour,

    Citation Envoyé par LordPatate6969 Voir le message
    - Par la suite il est important de savoir qu'un LOCATAIRE peut être une PERSONNE PHYSIQUE ou une PERSONNE MORAL, il en va de même pour un BAILLEUR. J'ai donc créer ces deux tables et LOCATAIRE contient l'id_locataire, l'id_personne_physique ET l'id_personne_moral, tandis que BAILLEUR contient l'id_bailleur, l'id_personne_physique ET l'id_personne_moral.
    J'écris ça autrement...

    Une PERSONNE est soit une PERSONNE PHYSIQUE, soit une PERSONNE MORALE.
    Un locataire est une PERSONNE.
    Un bailleur est une PERSONNE.

    A partir de là, la lecture du tutoriel Héritage dans une base de données Access devrait éclairer sur les différentes façons de spécialiser les PERSONNES car ton modèle cause quelques soucis...

    Je reviens si nécessaire

  5. #5
    Membre à l'essai
    Profil pro
    Etudiant en Master ILSEN
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant en Master ILSEN

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    J'ai aussi pensé à utiliser l'heritage mais vu que je ne connais pas bien access... à la base je suis développeur java et j'utilise très souvent l'héritage sur de la POO mais je dois avouer que je suis un peu rouillé pour ce qui est de la modélisation de BDD relationnel. Le tutoriel est vraiment très clair mais étant donné que j'ai moins de 2 mois pour faire la base de donnée, tout les formulaires, le publipostage, les statistique + déploiement et formation du personnel... je dois faire au plus vite.

    En tout cas merci pour ton avis sur la BDD. Je risque d'avoir besoin d'un coup de main pour utiliser access par la suite (c'est une vrai usine à gaz) mais pour l'instant je vais clore ce sujet étant donné que mon problème actuel est résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 03/02/2009, 04h00
  2. [WD12] Modification sur table liée
    Par Ninou's DEV dans le forum WinDev
    Réponses: 5
    Dernier message: 19/12/2008, 11h03
  3. ajout enregistrement sur table liée en DAO
    Par pedro91 dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/08/2008, 23h04
  4. [Formulaire] recherche sur tables liées
    Par djudju2000 dans le forum IHM
    Réponses: 2
    Dernier message: 13/02/2007, 10h38
  5. Query sur table liée
    Par pierrot67 dans le forum Bases de données
    Réponses: 9
    Dernier message: 25/10/2006, 09h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo