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 :

Lier l'ouverture d'un sous formulaire grace à un champ coché dans un autre sous formulaire


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Musicien
    Inscrit en
    Juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Musicien

    Informations forums :
    Inscription : Juin 2012
    Messages : 7
    Points : 9
    Points
    9
    Par défaut Lier l'ouverture d'un sous formulaire grace à un champ coché dans un autre sous formulaire
    Bonjour à tous

    Tout d'abord je tient à remercier l'ensemble du forum qui a su m'aider au cours de divers projets sur Access!
    Mais cette fois ci je sèche

    Sur un formulaire "suivi des commandes" se trouve trois sous formulaire(chacun est liés à une table du même nom):
    1) Commande
    2) Moteur
    3) Accessoires

    Grâce au champ pere fils j'ai réussi à lier les trois (grace a un textebox qui sort le N°Commande entre le subform 1 et 2, et le N°Série moteur entre le 2 et 3) .
    Le problème étant que dans le sous formulaire "Moteur" se trouve un champ (oui/non) appelé accessoires, j'aimerais que lorsque la case est cochée que le sous formulaire "accessoires" apparaisse et si celle-ci est vide le sous formulaire reste caché.

    J'ai fait un peu le tour du forum et il y a une histoire de doCmdOpenForm que je n'arrive pas à comprendre.

    En espérant me faire bien comprendre (c'est jamais évident quand on débute access)

    En vous remerciant par avance de vos réponses !

  2. #2
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 100
    Points : 112
    Points
    112
    Par défaut
    Salut !

    une proposition pour toi, mets ton sous-formulaire à quelque part avec la propriété

    tonformulaire.visible = false

    ensuite, tu inscris

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If tacaseacocher.checked = true Then
    tonformulaire.Visible = True
    je ne suis pas sûre si ma syntaxe de code est parfaite, mais je crois que ça devrais marcher
    Les pros du forum pourront me corriger si je fais fausse route

    Bonne chance et tiens moi au courant

  3. #3
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    Bonjour

    Je complète simplement la proposition de Kaptin pour assurer un affichage dépendant exclusivement de la case à cocher (au cochage, et à l'ouverture du formulaire principal)
    1) ne pas modifier de propriétés
    2) pour l'événement "Sur clic" de la cas à cocher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Forms!Moteur.tacaseacocher = True Then
       Forms!Accessoires.Visible = True
    Else
       Forms!Accessoires.Visible = False
    End If
    3) pour l'événement "Sur ouverture" du formulaire "suivi des commandes" : même code

    titi95
    Un problème bien posé est à moitié résolu

  4. #4
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour à tous.
    Les idées proposées par Kaptin et Titi95 ne sont pas mauvaises, mais la syntaxe est un peu particulière quand il s'agit de formulaires et sous-formulaires.
    Une proposition qui devrait fonctionner, sur l'événement Ouverture du formulaire principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Open(Cancel As Integer)
    If Forms![suivi des commandes]![Moteur]!accessoires= True Then
    Forms![suivi des commandes]![Accessoires].Form.Visible = False
    Else
    Forms![suivi des commandes]![Accessoires].Form.Visible = True
    End If
    End Sub
    Fais attention à vérifier que le nom que tu utilises pour désigner un sous-formulaire inséré dans un formulaire principal (Moteur) est le nom de contrôle du sous-formulaire dans le formulaire principal; ce n'est pas nécessairement son nom en tant que formulaire.
    Pour vérifier ce nom, il faut cliquer sur le sous-form dans le form principal ouvert en mode création et afficher les propriétés. Je précise cela car c'est une source d'erreur fréquente quand on écrit un code pour désigner un sous-formulaire et son contenu.
    N'oubliez pas de tagguer la discussion comme résolue si vous avez été aidé!
    Plus haut monte le singe, plus il montre son cul (Montaigne)
    Je ne réponds pas aux messages personnels concernant des questions discutées dans le forum.

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/07/2013, 15h05
  2. Réponses: 2
    Dernier message: 01/07/2009, 08h54
  3. Réponses: 1
    Dernier message: 10/12/2006, 18h49
  4. Réponses: 3
    Dernier message: 26/08/2006, 15h55
  5. Réponses: 7
    Dernier message: 24/07/2006, 15h11

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