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 :

Formulaires et sous formulaires: inscription des données dans les tables liées.


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2007
    Messages : 18
    Points : 13
    Points
    13
    Par défaut Formulaires et sous formulaires: inscription des données dans les tables liées.
    Bonjour,

    Je mets ma question ici, mais il se pourrait qu'à terme, ça relève du VBA.



    J'ai 2 tables liées par une relation plusieurs à plusieurs: j'ai donc conçu un formulaire et un sous-formulaire bâtis sur ces tables (enfin plus exactement sur la table de jonction et une autre table liée à la table de jonction pour le second) pour rentrer les données.

    Tout fonctionne bien, pourtant je suis "bloqué" par une chose qui doit relever des mécanismes internes d'Access: la mise à jour des données dans les tables sur lesquelles reposent les formulaires.


    Le formulaire principal est relié à la table Objet.

    Le sous-formulaire est bâti sur une table de jonction Objet-localisation (jonction pour la relation plusieurs à plusieurs), et il incorpore des données de la table localisation.

    Jusque là, tout va bien...



    Le problème est le suivant:

    Je rentre les données dans le formulaire principal, aucune répercussion "tout de suite" dans la table correspondante "objet".

    Ce n'est que lorsque je commence à rentrer des données dans le sous-formulaire (une seule lettre suffit) que là, les données de ce qui a été porté dans le formulaire principal sont répercutées dans la table "objet".


    C'est compréhensible, parce qu'il y a une table de jonction sous-jacente au formulaire, et qu'Access attend que les tables reliées par cette table de jonction contiennent des données pour les mettre à jour toutes les 2... mais ça me gène.



    Je voudrais avoir la possibilité de remplir la table localisation (= les données que l'on peut saisir dans le sous-formulaire) par un autre moyen que le sous-formulaire, en particulier un bouton évènement qui remplira la table.

    Seul problème, si le sous-formulaire ne contient aucune entrée, alors les données du formulaire n'auront même pas encore été mises à jour dans la table objet.... en somme, "la fiche" objet n'existe pas encore, elle n'est créée qu'après coup, qu'après avoir rentré au moins un champ quelconque dans le sous-formulaire...

    Comme je l'ai dit précédemment, c'est une mécanique interne à Access avec les tables de jonction dans le cas d'une relation plusieurs à plusieurs, c'est compréhensible pour l'intégrité des enregistrements, mais ça me gène.

    J'ai essayé de forcer la main à access en inscrivant via un recordset l'objet manquant pour initier la table de jonction, mais ça n'a pas fonctionné (à revoir toutefois), ensuite j'ai peur qu'en sortant du formulaire il ne me réinscrive une nouvelle fois les mêmes données mais avec une autre clé...


    J'ai essayé de retranscrire mon problème du mieux possible.

    Si vous avez des idées, je suis preneur.

  2. #2
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2007
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Une solution consiste à rajouter des données factices dans le sous-formulaire et à les effacer tout de suite pour initier la création de la fiche objet, mais ce n'est pas très élégant.

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2007
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Si ça peut aider quelqu'un un jour:

    Si vous avez un formulaire et son sous-formulaire, liant des tables dans une relation plusieurs à plusieurs (sous-formulaire bâti sur la table de jonction en y incluant des champs de la seconde table), et que vous devez réaliser une opération qui devrait rentrer des données dans la seconde table, sans passer par le sous-formulaire, avant que celui-ci ne contienne des données ( ), une solution: Rafraichir le formulaire !!!

    Cette manoeuvre (au bon endroit) oblige à créer l'enregistrement associé à la première table.


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

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/04/2014, 11h43
  2. Réponses: 7
    Dernier message: 24/01/2012, 18h55
  3. insérer des données dans deux tables liées
    Par joprog dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/12/2010, 18h24
  4. [MLD] Organisation des données dans les tables
    Par beninsky dans le forum Schéma
    Réponses: 7
    Dernier message: 04/05/2010, 21h08
  5. [MySQL] Organisation des données dans les tables
    Par beninsky dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/04/2010, 10h56

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