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

VBA Access Discussion :

Afficher / Masquer dans un sous formulaire [AC-2003]


Sujet :

VBA Access

  1. #1
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut Afficher / Masquer dans un sous formulaire


    Sur ma BD, j'ai un formulaire principal "Saisi" et un sous formulaire "Presses Modif"
    Dans ce dernier, j'ai un champ "Type machine".

    Sur le formlaire "Saisi", je saisi un numéro de "contrat" qui est le champ pére du sous formulaire "Presses Modif" dont le champ fils et "N°Contat"

    Lorsque je saisi un numéro de "contrat" (dans le formulaire principal), je voudrais que le code suivant s'exécute (en fait je sais pas vraiment où le mettre)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    If Me.Type_Machine = "Automotrice" Then
        Me.Étiquette38.Visible = False
        Me.Étiquette40.Visible = False
        Me.Texte37.Visible = False
        Me.Texte39.Visible = False
        Me.Étiquette57.Visible = True
        Me.Étiquette58.Visible = True
        Me.Étiquette59.Visible = True
        Me.Étiquette60.Visible = True
        Me.Étiquette61.Visible = True
        Me.Étiquette62.Visible = True
        Me.Étiquette63.Visible = True
        Me.Étiquette64.Visible = True
        Me.Rev_100h.Visible = True
        Me.Rev_500h.Visible = True
        Me.Rev_1000h.Visible = True
        Me.Rev_1500h.Visible = True
        Me.Rev_2000h.Visible = True
        Me.Rev_2500h.Visible = True
        Me.Rev_3000h.Visible = True
    Else
    If Me.Type_Machine <> "Automotrice" Then
        Me.Étiquette38.Visible = True
        Me.Étiquette40.Visible = True
        Me.Texte37.Visible = True
        Me.Texte39.Visible = True
        Me.Étiquette57.Visible = False
        Me.Étiquette58.Visible = False
        Me.Étiquette59.Visible = False
        Me.Étiquette60.Visible = False
        Me.Étiquette61.Visible = False
        Me.Étiquette62.Visible = False
        Me.Étiquette63.Visible = False
        Me.Étiquette64.Visible = False
        Me.Rev_100h.Visible = False
        Me.Rev_500h.Visible = False
        Me.Rev_1000h.Visible = False
        Me.Rev_1500h.Visible = False
        Me.Rev_2000h.Visible = False
        Me.Rev_2500h.Visible = False
        Me.Rev_3000h.Visible = False
    End If
    End If
    Où doit je mettre le code pour qu'il s'exécute lors d'une nouvelle saisi sur le formulaire principal ?

    Faut-il modifier le code ?


    POUR INFO : J'ai essayé de le mettre sur ouverture du sous formulaire mais sa ne marche que lorsque je lance la BD (car ensuite aucuns formulaire n'est fermer lors de son utilisation : la base est basé sur une navigation des formulaire avec des onglets)

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 090
    Points : 5 207
    Points
    5 207
    Par défaut
    Bonjour,

    Il me semble que le bon endroit est sur mise à jour du champ contrat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private sub contrat_afterupdate
    If Me.Type_Machine = "Automotrice" Then
        Me.fillexx.Étiquette38.Visible = False
        Me.fillexx.Étiquette40.Visible = False
        Me.fillexx.Texte37.Visible = False
        ...
    Else
    ' test inutile !!!! If Me.Type_Machine <> "Automotrice" Then
       ...
    End If
    end sub
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Citation Envoyé par nico84 Voir le message
    Il me semble que le bon endroit est sur mise à jour du champ contrat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private sub contrat_afterupdate
    If Me.Type_Machine = "Automotrice" Then
        Me.fillexx.Étiquette38.Visible = False
        Me.fillexx.Étiquette40.Visible = False
        Me.fillexx.Texte37.Visible = False
        ...
    Else
    ' test inutile !!!! If Me.Type_Machine <> "Automotrice" Then
       ...
    End If
    end sub
    Il me semble que j'avais teste sans résultat mais a quoi correspond fillexx ?

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 090
    Points : 5 207
    Points
    5 207
    Par défaut
    C'est le nom de la sous-fenêtre dans la fenêtre !
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  5. #5
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Désolé mais sa marche pas

    Message en pièce jointe

    "Presses Modif" correspond au nom du sous form
    Images attachées Images attachées  

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 090
    Points : 5 207
    Points
    5 207
    Par défaut
    Quel est ton code ? C'est fille-- qu'il faut mettre (le nom associé à la sous fenêtre dans ses propriétés) et non "presse modif"

    D'ailleurs access doit le proposer automatiquement en saisie !
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  7. #7
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    il manque pas un truc ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Me.Type_Machine = "Automotrice" Then

  8. #8
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Désolé nico84 mais je n'arrive pas a appliquer ton code.

    Suite a différentes recherche sur le forum et le net, j'ai trouvé un truc comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Forms!Saisi![Presses Modif].Form![Type_Machine].Value = "Automotrice" Then
        Forms!Saisi![Presses Modif].Form![Étiquette38].visble = True
        Forms!Saisi![Presses Modif].Form![Étiquette40].visble = False
        Forms!Saisi![Presses Modif].Form![Text37].visble = True
        Forms!Saisi![Presses Modif].Form![Text].visble = True
    Mais malheureusement sa marche toujours pas : sa me met le message en pièce jointe sur un post précédent.

    Je n'arrive pa a trouver quoique se soit

    existe t'il vraiment une solution ??

  9. #9
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 090
    Points : 5 207
    Points
    5 207
    Par défaut
    Effectivement avec Me.filleMachin on n'a pas accès aux propriétés des champs

    Par contre ceci marche très bien (avec access 2000) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form_MaSousFenetre.monChamp.visible = false
    Pourquoi il faut préfixer le nom des fenêtres avec "Form_" pour appeler leurs champs je ne sais pas mais c'est comme ça (d'ailleurs c'est aussi leur nom dans le projet VBA)

    Normalement l'aide à la saisie en ligne doit d'ailleurs te proposer les champs automatiquement

    Mais déjà il faut arrêter les espaces dans les noms
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  10. #10
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Excuse moi mais qu'appelle tu "fenêtre"
    Un sous formulaire ???

  11. #11
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 090
    Points : 5 207
    Points
    5 207
    Par défaut
    Exemple :

    J'ai la form OF_lg qui contient le champ poste

    Cette form est une sous-fenêtre de la form OF
    A l'ouverture de OF je veux cacher le champ poste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private sub form_open(cancel as integer)
    form_of_lg.poste.visible = false
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  12. #12
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Désolé nico84 mais malheureusement je n'ais pas su appliquer ton code à mon application (j'ai peut étre mal fais quelque chose).

    Toutefois, j'ai trouver une solution a mon problème :

    J'ai applique mon code (fourni dans mon premier post) sur l'événement "Activation" de mon sous-formulaire

    et sa marche nikel

    Merci à tous de votre aide


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

Discussions similaires

  1. Réponses: 9
    Dernier message: 12/03/2014, 21h28
  2. Réponses: 1
    Dernier message: 05/03/2009, 12h26
  3. afficher des données dans un sous formulaire
    Par issam16 dans le forum Access
    Réponses: 3
    Dernier message: 26/06/2006, 15h36
  4. Réponses: 2
    Dernier message: 07/02/2006, 19h44
  5. Réponses: 3
    Dernier message: 25/11/2005, 14h51

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