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 :

Simulation de sous-formulaires double affichage : le retour [AC-365]


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2019
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2019
    Messages : 93
    Points : 70
    Points
    70
    Par défaut Simulation de sous-formulaires double affichage : le retour
    Bonjour,

    Je me permets de revenir sur un problème partiellement résolu, à savoir la simulation du formulaire double affichage au moyen de deux sous-formulaires non liés mais utilisant la MEME table
    je rappelle ici le fonctionnement (impeccable)
    sous-formulaire "père" : "sFormPère1" au format feuille de données
    sous-formulaire "fils" : sFormFils1" au format formulaire "classique" de visualisation/édition
    les deux sous formulaires se relient par le champ clé de la table (texte court au format "L00-000" : "Theme_ID") de la manière suivante :
    sFormFils1 : champ père = [sFormPère1]![[Theme_ID]
    sFormFils1 : champ fils = [Theme_ID]
    sFormPère1 : propriété "sur activation", code VB
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    On Error Resume Next
    Me.Parent.[sFormFils1].requery
    Dans l'application actuelle, je dois ajouter sur le même formulaire principal, deux nouveaux sous-formulaires non liés du même type que les premiers que j'appellerai :
    sous-formulaire "père 2" : "sFormPère2" au format feuille de données
    sous_formulaire "fils 2" : "sFormFils2" au format "classique" de visualisation/édition
    les deux sous-formulaires 2 se relient par le champ clé d'une seconde table, à savoir ici un numéro automatique (numéro automatique : "Rio_IN_ID") de la manière suivante :
    sFormFils2 : champ père = [sFormPère2]![[Rio_IN_ID]
    sFormFils2 : champ fils = [Rio_IN_ID]
    sFormPère1 : propriété "sur activation", code VB
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    On Error Resume Next
    Me.Parent.[sFormFils2].requery
    Le sous-formulaire "sFormPère2" est relié au sous-formulaire "sFormPère1" par un filtre, à savoir : [Rio_IN_theme] = [sfrmPère1]![Thème_ID]

    Pas de problème pour le lien filtré entre les sous-formulaires "Père" 1 et 2, il affiche bien tous les éléments disponibles pour chaque thème dans la feuille de données 2,
    MAIS, pas moyen d'obtenir le lien entre le "Père 2" et le "Fils 2". Ce sous-formulaire ne montre jamais que la première fiche de la table 2 et n'évolue ni en fonction d'un changement dans la partie thème, ni dans un des sous-thèmes apparaissant dans le sous-formulaire feuille de données "Père 2".

    NB:
    1- aucune relation n'a été pré-établie dans le générateur de relations de la base de données relativement aux tables Thème et Sous-thèmes
    2- les 4 sous-formulaires font partie du même formulaire principal

    Je ne comprends pas comment faire pour que les sous-formulaires 3 et 4 se relient automatiquement à chaque changement soit dans la zone thème (sous-formulaires 1), soit dans la zone sous-thème (sous-formulaires 2).
    Ceci est d'autant plus problématique que je devrai sous peu ajouter un troisième et dernier groupe de 2 sous-formulaires en lien avec les 2 zones précédentes.

    Bref : help please.

    Guy.

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    Bizarre, la technique décrite devrait fonctionner, tu n'a pas oublié un requery qq part?
    sinon poste ta base

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonjour,

    Moi, je fais cela sans code mais en utilisant une zone de texte pour récupérer la valeur sélectionné dans le sous formulaire en tabulaire et les propriétés pères/fils des formulaires.
    On part du principe que les 2 tables sont crées correctement :
    - Theme (IdTheme, NomTheme) IdTheme comme clé primaire.
    - SousTheme (IdsousTheme, NomSoustheme,IdTheme_FK), IdsousTheme comme clé primaire et table liée à Theme par IdTheme_FK (la Liaison n'est pas obligatoire mais permet d'éviter les problèmes)

    On crée 2 formulaires pour chaque table (1 simple affichage et 1 autre en mode tabulaire) qu'on nommera : SF_themeFiche - SF_themetableau - SF_sousthemeFiche - SF_sousthemetableau qui deviendront les sous-formulaire du formulaire principal.
    On met les 4 sous-formulaires sur le formulaire principal.
    1- On fait fonctionner la liaison entre SF_themeFiche - SF_themetableau
    On crée une première zone de texte qu'on nommera (zdtThemeSelectionne) qui va récupérer la valeur sélectionnée dans le Sousformulaire1 (Sf_themetableau). Elle aura comme source
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[SF_theme_tableau].[Formulaire]![IdTheme]
    On définit les propriétés Pères/Fils du sous-formulaire SF_themeFiche
    Champs Pères : zdtThemeSelectionne
    Champs Fils : IdTheme

    2- On synchronise le sous-formulaire SF_sousthemetableau avec le thème sélectionné dans zdtThemeSelectionne
    On définit les propriétés Pères/Fils du sous-formulaire SF_sousthemetableau
    Champs Pères : zdtThemeSelectionne
    Champs Fils : IdTheme_FK

    3- On fait fonctionner la liaison entre SF_sousthemeFiche - SF_sousthemetableau
    On crée une première zone de texte qu'on nommera (zdtSousThemeSelectionne) qui va récupérer la valeur sélectionnée dans le Sousformulaire3 (SF_sousthemetableau ). Elle aura comme source
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ==[SF_SousthemeTableau].[Formulaire]![IdSousTheme]
    On définit les propriétés Pères/Fils du sous-formulaire SF_sousthemeFiche
    Champs Pères : zdtSousThemeSelectionne
    Champs Fils : IdSousTheme

    Et on peut continuer selon la logique métier.
    En pièce jointe, l'exemple.

    Cordialement.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2019
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2019
    Messages : 93
    Points : 70
    Points
    70
    Par défaut Simulation du formulaire double affichage
    Bonjour MadeFemere,

    Un seul Waow : propre, clair, net, limpide et efficace : mieux que l'oeuf de Colomb
    Je vais appliquer asap cette solution et intégrer avec un mois d'avance le troisième groupe de formulaires dans le projet (il s'agit ici d'une gestion de courrier IN/OUT).

    Que voici des heures et des kilos (lol) d'aspirines évités.

    Merci 1.000 x

    Keep safe

    Guy
    Bruxelles.

  5. #5
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2019
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2019
    Messages : 93
    Points : 70
    Points
    70
    Par défaut Simulation du formulaire double affichage
    Bonjour AccessIsGood,

    Merci pour ton intervention.
    J'ai checké une nouvelle fois mon projet et malheureusement aucun requery n'était manquant. Bizarre. Correct en théorie mais couac à l'utilisation. Les mystères de l'informatique.

    Je viens de suivre la démonstration de l'ami MadeFemere. Elle est efficace et superbe dans sa simplicité. L'idée de génie étant ici le chargement d'un champ prenant en compte le résultat de la sélection dans le formulaire multiple (ou table de données).
    C'est à un point que je me croyais quasiment dans mon application.

    Encore merci.
    Pour l'intérêt de la chose j'essayerai dès la fin de la création de cette application de comprendre le pourquoi du non-fonctionnement des "requery" entre les sous-formulaires 3 et 4.

    Bonne journée et encore merci.

    Guy
    Bruxelles

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 07/08/2019, 15h52
  2. [AC-2016] Formulaire double affichage et sous formulaire
    Par Anne1969 dans le forum IHM
    Réponses: 3
    Dernier message: 18/04/2017, 17h49
  3. [AC-2007] Formulaire double affichage dans un sous formulaire
    Par rogerfon dans le forum IHM
    Réponses: 10
    Dernier message: 15/08/2012, 23h52
  4. [AC-2007] Sous formulaire double affichage
    Par Sofiann dans le forum IHM
    Réponses: 1
    Dernier message: 25/06/2012, 19h36
  5. Réponses: 0
    Dernier message: 23/11/2010, 10h46

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