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

IHM Discussion :

Ajout d'un enregistrement dans un sous-formulaire


Sujet :

IHM

  1. #1
    Candidat au Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Ajout d'un enregistrement dans un sous-formulaire
    Je débute dans les formulaires Access, et même si j'ai pas mal avancé grâce aux différents posts et tutos sur le net, je butte sur des trucs un peu basique Bref, j'ai besoin de votre aide !

    J'ai un formulaire principal "Formulaire_Collecte" qui contient plusieurs sous-formulaires:
    "Sub_Lot"
    "Sub_Collecte"
    "Sub_Défauts"

    Grâce à des contrôle dans le formulaire principal "Formulaire_Collecte" qui permettent de "synchroniser" les sous-formulaires,
    "Sub_Défauts" n'affiche que les enregistrements relatifs à la collecte sélectionnée grâce au contrôle "Collecte_Master"
    De même, "Sub_Collecte" n'affiche que les enregistrements relatifs au lot sélectionné grâce au contrôle "Lot_Master"

    Tout fonctionne bien pour afficher ou modifier des enregistrements existants, mais lorsque je tente de créer des enregistrements à partir des sous-formulaires, ça coince !

    Quand j'essaye de créer un nouvel enregistrement dans "Sub_Défauts", le champ qui fait le lien avec la table / le sous-formulaire "père" reste vide alors que je m'attendais à ce qu'il prenne par défaut la valeur "Collecte_Master".

    J'ai essayé différents trucs glanés sur internet mais sans succès.

    Quelqu'un pourrait-il m'indiquer comment je peux m'en sortir ?

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Bonjour,

    "Sub_Défauts" n'affiche que les enregistrements relatifs à la collecte sélectionnée grâce au contrôle "Collecte_Master"
    De même, "Sub_Collecte" n'affiche que les enregistrements relatifs au lot sélectionné grâce au contrôle "Lot_Master"
    Le mécanisme est bien fait avec les champs pères/fils des sous-formulaires ?

    Pas besoin de code, si n'est un requery du sous-formulaire si le champ père est un contrôle non lié à la source de donnée du formulaire parent.

  3. #3
    Candidat au Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Arkham46 Voir le message
    Citation Envoyé par Skratt Voir le message
    Grâce à des contrôle dans le formulaire principal "Formulaire_Collecte" qui permettent de "synchroniser" les sous-formulaires,
    "Sub_Défauts" n'affiche que les enregistrements relatifs à la collecte sélectionnée grâce au contrôle "Collecte_Master"
    De même, "Sub_Collecte" n'affiche que les enregistrements relatifs au lot sélectionné grâce au contrôle "Lot_Master"
    Le mécanisme est bien fait avec les champs pères/fils des sous-formulaires ?

    Pas besoin de code, si n'est un requery du sous-formulaire si le champ père est un contrôle non lié à la source de donnée du formulaire parent.
    Merci pour ta réponse.
    Désolé, j'ai dû mal m'exprimer. Le mécanisme pères/fils est a priori bien fait, et du coup c'est tout à fait normal et voulu que les sous-formulaires affichent ce qu'ils affichent.

    Mon soucis, c'est vraiment quand j'essaye de créer un nouvel enregistrement dans un sous-état (par exemple dans "Sub_Défauts" qui détaille les défauts constatés lors de la collecte sélectionnée dans "Sub_Collecte"), le champ du nouvel enregistrement qui fait le lien entre les sous-formulaires (dans l'exemple entre les sous-formulaires "Sub_Collecte" et "Sub_Défauts") reste vide alors que je m'attendrais à ce qu'il prenne par défaut la valeur de la table parent qui fait le lien (ici "Collecte_Master").

    J'ai pris l'exemple de la table "Sub_Défauts", mais ça ne marche pas non plus si j'essaye de créer une nouvelle collecte dans "Sub_Collecte".
    J'ai essayé notamment de créer un bouton pour faire ce job mais je n'y suis pas arrivé.

    Est-ce que je suis plus clair ?

  4. #4
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Citation Envoyé par Skratt Voir le message
    Désolé, j'ai dû mal m'exprimer. Le mécanisme pères/fils est a priori bien fait, et du coup c'est tout à fait normal et voulu que les sous-formulaires affichent ce qu'ils affichent.
    Juste pour être sûr qu'on se comprenne bien :
    par mécanisme pères/fils, je parle du mécanisme standard d'Access.
    C'est à dire définition des champs pères et fils dans les propriétés du contrôle sous-formulaire.
    Si c'est bien ça qui est en place je ne vois pas de raison que ça ne marche pas.

  5. #5
    Candidat au Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Pour générer la relation Père-fil, j'ai:
    1/ créé les sous-formulaires de façon indépendantes à partir de requêtes ou tables

    2/ fait un drap&drop de mes sous-formulaires dans le formulaire principal

    3/ créé des contrôles zone de texte dans le formulaire principal "Formulaire_Collecte" qui permettent de "synchroniser" les sous-formulaires (ex de "Collecte_Master" =[Sub_Collecte].[Formulaire]![ID_Collecte])

    4/ Modifié les propriétés des sous-formulaires pour se synchroniser par rapport au "parent", soit dans le cas du sous-formulaire "Sub_Défauts":
    "champs père" = Collecte_Master
    "champs fils" = ID_Collecte

    Le ID_Collecte du point 4 est un champs de "Sub_Défauts"
    Collecte_Master est un controle du formulaire
    Le ID_Collecte du point 3 est un champs de "Sub_Collecte"

    et la propriété "Filtrer par replica-maître" est "oui"

    Est-ce que j'aurais manqué une étape ?

  6. #6
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Je crois avoir mieux compris.

    Ce que tu souhaites : lorsqu'on navigue dans Sub_Collecte, Sub_Défauts est mis à jour, et vice-versa.

    Je pensais que les contrôles du formlaire principal étaient des contrôles de saisie, mais donc ce ne sont que des contrôles "techniques".

    Les champs père-fils ont l'air correct.

    Par contre j'ai peur qu'il se morde un peu la queue, chaque sous-formulaire mettant à l'autre.

    "Filtrer par replica-maître" je n'ai jamais utilisé, donc je ne peux dire si c'est bien.

  7. #7
    Candidat au Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Mars 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2013
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Arkham46 Voir le message
    Ce que tu souhaites : lorsqu'on navigue dans Sub_Collecte, Sub_Défauts est mis à jour, et vice-versa.

    Je pensais que les contrôles du formlaire principal étaient des contrôles de saisie, mais donc ce ne sont que des contrôles "techniques".
    Effectivement, des contrôles techniques qui me servent à mettre à jour et à naviguer entre Sub_Collecte et Sub_Défauts. Et tout ça marche bien.



    Le soucis, c'est pour moi de créer de nouveaux enregistrements dans Sub_Défauts qui soient automatiquement liés à l'enregistrement sélectionné dans Sub_Collecte à travers la recopie de la valeur [Formulaire_Collecte].[Formulaire]![Collecte_Master] dans le champ [Sub_Défaut].[Formulaire]![ID_Collecte]

Discussions similaires

  1. [AC-2010] Action sur ajout d'un enregistrement dans un sous-formulaire
    Par fclus dans le forum IHM
    Réponses: 3
    Dernier message: 06/06/2012, 14h22
  2. [AC-2007] Ajouter des enregistrements dans un sous-formulaire
    Par reims87 dans le forum IHM
    Réponses: 1
    Dernier message: 05/11/2011, 18h01
  3. Réponses: 2
    Dernier message: 17/08/2007, 09h54
  4. ajouter des enregistrement dans un sous-formulaire
    Par polianita dans le forum Access
    Réponses: 3
    Dernier message: 29/08/2006, 16h12
  5. ajout d'enregistrement dans un sous-formulaire
    Par LBSinclair dans le forum Access
    Réponses: 2
    Dernier message: 10/04/2006, 23h11

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