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 :

champ visible sur condition


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    Aides soignant
    Inscrit en
    Novembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Aides soignant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2005
    Messages : 125
    Points : 45
    Points
    45
    Par défaut champ visible sur condition
    Bonjour,

    J'ai une base de donnée pour archiver des dossier malade, j'ai des champ (num, nom, prénom, ....etc), j'ai deux liste déroulante qui ce nomme :
    1/
    Sexe:qui comporte les choix suivants :
    Homme
    Femme

    et

    2/
    "statuSocial" qui comporte les choix suivants :
    Célibataire
    marié
    Divorcé
    veuve

    on a deux champs [NomEpoux] et [PrenomEpoux] pour Femme
    et deux champ [NomEpouse] et [PrenomEpouse] pour Homme

    on doit cacher c'est 4 champs sauf a condition des choix de ces deux liste déroulante qui sont réuni.

    Exemple : Si
    1- [les deux sexe]. célibataire --> les champs ([NomEpoux], [PrenomEpoux], [NomEpouse], [PrenomEpouse]) soit invisible ou désactivé.

    2- [femme]. Marié --> les champs ([NomEpoux], [PrenomEpoux] s'affiche seulement, les champs [NomEpouse], [PrenomEpouse]) reste invisible ou désactivé.

    3- [homme]. Marié --> la c'est l'inverse.

    4- [femme]. Divorcé = [femme]. Marié = [femme]. veuve

    5- [homme]. Divorcé = [homme]. Marié = [homme]. veuve

    J'espère que c'est claire ? désolé si ce n'est pas le cas.

    si c'est réalisable, est ce que vous avez un exemple sous la mais, ou bien un code que je dois insérer. merci

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Tu aurais pu simplifier en prévoyant NomConjoint et PrenomConjoint : d'une pierre, deux coups !

    De plus, il n'est pas dit qu'à l'avenir le conjoint sera d'un sexe opposé.

    Quoi qu'il en soit voici un bout de code :

    l'idée à chaque lecture d'un enregistrement (événement "Sur activation"), on cache d'abord tout et ensuite on montre ce qu'il faut,
    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
    Private Sub Form_Current()
    'On cache les contrôles complémentaires
    Me.NomEpoux.Visible = False
    Me.PrenomEpoux.Visible = False
    Me.NomEpouse.Visible = False
    Me.PrenomEpouse.Visible = False
    'On montre ceux nécessaires
    If Me.Sexe = "Homme" And Me.StatuSocial = "Marié" Then
        Me.NomEpouse.Visible = True
        Me.PrenomEpouse.Visible = True
        Exit Sub
    End If
    If Me.Sexe = "Femme" And Me.StatuSocial = "Marié" Then
        Me.NomEpoux.Visible = True
        Me.PrenomEpoux.Visible = True
    End If
     
    End Sub
    Si on modifie la valeur des contrôles "Sexe" ou "StatuSocial" (événement "Après mise à jour"), on exécute le même code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Sexe_AfterUpdate()
    Call Form_Current
    End Sub
     
    Private Sub StatuSocial_AfterUpdate()
    Call Form_Current
    End Sub

  3. #3
    Membre du Club
    Homme Profil pro
    Aides soignant
    Inscrit en
    Novembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Aides soignant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2005
    Messages : 125
    Points : 45
    Points
    45
    Par défaut
    bonsoir,

    un grand merci,

    j'ai suivi ton conseil pour changer en "conjoint" super idée merci, pour la question du changement de sexe, tu parle de mariage de même sexe ou pourquoi ne pas inscrire les épouses ?.

    Chez nous, le mariage du même sexe n'existe pas et il n'y aura jamais, et pour les épouses, chez nous un homme peut avoir 4 femmes alors il faut prévoir 8 champs (et je crois avec ça je peut me débrouiller si je connaissez les formules des cases a cocher ou bien jouer avec le nombres, bref), tendis pour la femmes c'est toujours 01 mari alors 2 champs, c'est tout.

    merci pour votre aide et a bientot j'espère.

  4. #4
    Membre du Club
    Homme Profil pro
    Aides soignant
    Inscrit en
    Novembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Aides soignant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2005
    Messages : 125
    Points : 45
    Points
    45
    Par défaut re
    bonjour,

    désoler de vous déranger, je suis tombé sur un petit problème que j'arrive pas a le réaliser.

    on par du même principe sauf que la j'ajoute une case a cocher.

    exp:
    Champ liste déroulante
    profession
    illétré
    etudiants
    salarié
    retraité

    Case à cocher
    arretdetravail (oui/non)

    Champ datedebut
    Champ datefin
    Champ Durree

    1-avec le même code j'aimerai cacher
    Case à cocher arretdetravail (oui/non)
    Champ datedebut
    Champ datefin
    Champ Durree

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Current()
    'On cache les contrôles complémentaires
    Me.arretdetravail.Visible = False
    Me.datedebut.Visible = False
    Me.datefin.Visible = False
    Me.Durree.Visible = False
    quand je choisie dans la liste de profession "salarié" , j aimerai que seule la case a coché (arretdetravail) soit visible mais ça reste sur (Non), si je je coche sur (Oui) alors les 3 champs
    datedebut
    datefin
    Durree

    s'affiche et c'est tous

    j'arrive pas a le réalisé.

    1 code ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    'On montre ceux nécessaires
    If Me.Profession = "salarié" Then
        Me.arretdetravail.Visible = True
        End If
    If Me.arretdetravail = True Then
        Me.datedebut.Visible = True
        Me.datefin.Visible = True
        Me.Durree.Visible = True
    Exit Sub
        Exit Sub
    2ème code n'accepte pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If Me.Profession = "salarié" Then
        Me.arretdetravail.Visible = True and Me.arretdetravail = True Then
        Me.datedebut.Visible = True
        Me.datefin.Visible = True
        Me.Durree.Visible = True
    Exit Sub
        Exit Sub
    ça ne marche pas, je ne sais pas le réaliser, je vous demande si vous voulez bien m'aider s'il vous plais.

    j'ai pas oublier de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub profession_AfterUpdate()
    Call Form_Current
    End Sub
     
    Private Sub arretTravail_AfterUpdate()
    Call Form_Current
    End Sub

  5. #5
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Voici :


    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
     
    'On montre ceux nécessaires
    If Me.Profession = "salarié" Then
        Me.arretdetravail.Visible = True
    End If  
    'Si arretdetravail est coché, montrer les 3 
    If  Me.arretdetravail = True Then
          Me.datedebut.Visible = True
          Me.datefin.Visible = True
          Me.Durree.Visible = True
      Else         ' <---- sinon, cacher les 3                  
          Me.datedebut.Visible = False
          Me.datefin.Visible = False
          Me.Durree.Visible = False
    End If  '  <-------- et non pas Exit Sub
        Exit Sub

    ----------------

    Utilise <F1>
    D'une manière générale, pour se documenter sur les propriétés d'un formulaire ou d'un état, ou de leurs contrôles :
    - afficher l'objet en mode construction ;
    - cliquer sur la propriété => elle se met en surbrillance ;
    - enfoncer la touche <F1>
    => l'aide Access s'ouvre à la bonne page.
    De même dans le code, placer le curseur de la souris et enfoncer F1.
    On peut aussi :
    • ouvrir l'aide <F1>, choisir l'onglet « Aide intuitive » et suivre les instructions ;
    • ouvrir la fenêtre d'exécution (<Ctrl>+G), saisir un mot-clé, y placer le curseur de la souris et enfoncer F1.


    ---------------

    Bonne journée.

  6. #6
    Membre du Club
    Homme Profil pro
    Aides soignant
    Inscrit en
    Novembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Aides soignant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2005
    Messages : 125
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    ça ne marche pas, j'ai essayer pleins de truc et rien ne marche, si vous avez un exemple similaire envoyez le moi, c'est la seule façon pour que je trouve une solution a mon problème.

    j'ai oublier une condition capital, si le patient est "salarié", s'il est "assuré" il bénéficie d'un arrêt de travail, sinon rien de (ArretTravail, DateDebutArretTravail, DateDebutArretTravail et Duree) ne doit s'afficher.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If Me.Profession = "Salarié" And Me.Assurer = True Then
    Me.ArretTravail.Visible = True
    End If
    ça marche très bien, la case a cocher se cache et revient au conditions du code.

    Quand je travaillé sur les condition de la case a cocher ArretTravail comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    'Si Arretdetravail est coché, montrer les 3
    If Me.Arretdetravail = True Then
          Me.DateDebutArretTravail.Visible = True
          Me.DateRepriseTravail.Visible = True
          Me.Duree.Visible = True
      Else         ' <---- sinon, cacher les 3
          Me.DateDebutArretTravail.Visible = False
          Me.DateRepriseTravail.Visible = False
          Me.Duree.Visible = False
    End If  '  <-------- et non pas Exit Sub
    la VBA m'affiche ça



    et en haut ça



    Soit disant que "Profession" est introuvable, c'est faut regarder :



    je vous donne tous le code utilisé :
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
     
    Private Sub StatuAdministratif_AfterUpdate()
    Call Form_Current
    End Sub
     
    Private Sub SituationSocial_AfterUpdate()
    Call Form_Current
    End Sub
    Private Sub Sexe_AfterUpdate()
    Call Form_Current
    End Sub
     
    Private Sub MortVivant_AfterUpdate()
    Call Form_Current
    End Sub
    Private Sub AutresMaladieChronique_AfterUpdate()
    Call Form_Current
    End Sub
     
    Private Sub Assuree_AfterUpdate()
    Call Form_Current
    End Sub
     
     
    Private Sub Profession_AfterUpdate()
    Call Form_Current
    End Sub
    Private Sub ArretTravail_AfterUpdate()
    Call Form_Current
    End Sub
     
     
     
    Private Sub Form_Current()
    'On cache les contrôles complémentaires
    Me.NomConjoint.Visible = False
    Me.PrenomConjoint.Visible = False
    Me.Classement.Visible = False
    Me.Étiquette318.Visible = False
    Me.Boîte319.Visible = False
    Me.NombreEnfants.Visible = False
    Me.Venude.Visible = False
    Me.DateDCD.Visible = False
    Me.Etablissements.Visible = False
    Me.NumeroAssurance.Visible = False
    Me.MaladieSup.Visible = False
    Me.ArretTravail.Visible = False
     
     
     
    'On montre ceux nécessaires
    If Me.Sexe = "Féminin" And Me.SituationSocial = "Marié" Then
        Me.NomConjoint.Visible = True
        Me.PrenomConjoint.Visible = True
        Me.Étiquette318.Visible = True
        Me.Boîte319.Visible = True
        Me.NombreEnfants.Visible = True
    End If
     
    If Me.Sexe = "Féminin" And Me.SituationSocial = "Divorcé" Then
        Me.NomConjoint.Visible = True
        Me.PrenomConjoint.Visible = True
        Me.Étiquette318.Visible = True
        Me.Boîte319.Visible = True
        Me.NombreEnfants.Visible = True
    End If
     
    If Me.Sexe = "Féminin" And Me.SituationSocial = "Veuf" Then
        Me.NomConjoint.Visible = True
        Me.PrenomConjoint.Visible = True
        Me.Étiquette318.Visible = True
        Me.Boîte319.Visible = True
        Me.NombreEnfants.Visible = True
    End If
     
    If Me.Sexe = "Masculin" And Me.SituationSocial = "Marié" Then
        Me.NomConjoint.Visible = True
        Me.PrenomConjoint.Visible = True
        Me.Étiquette318.Visible = True
        Me.Boîte319.Visible = True
        Me.NombreEnfants.Visible = True
    End If
     
    If Me.Sexe = "Masculin" And Me.SituationSocial = "Divorcé" Then
        Me.NomConjoint.Visible = True
        Me.PrenomConjoint.Visible = True
        Me.Étiquette318.Visible = True
        Me.Boîte319.Visible = True
        Me.NombreEnfants.Visible = True
    End If
     
    If Me.Sexe = "Masculin" And Me.SituationSocial = "Veuf" Then
        Me.NomConjoint.Visible = True
        Me.PrenomConjoint.Visible = True
        Me.Étiquette318.Visible = True
        Me.Boîte319.Visible = True
        Me.NombreEnfants.Visible = True
    End If
     
    If Me.MortVivant = "Mort" Then
        Me.DateDCD.Visible = True
        End If
     
    If Me.Assuree = True Then
        Me.NumeroAssurance.Visible = True
        End If
     
    If Me.AutresMaladieChronique = True Then
        Me.MaladieSup.Visible = True
        End If
     
    If Me.Profession = "Salarié" And Me.Assurer = True Then
        Me.ArretTravail.Visible = True
    End If
     
    'Si Arretdetravail est coché, montrer les 3
    If Me.Arretdetravail = True Then
          Me.DateDebutArretTravail.Visible = True
          Me.DateRepriseTravail.Visible = True
          Me.Duree.Visible = True
      Else         ' <---- sinon, cacher les 3
          Me.DateDebutArretTravail.Visible = False
          Me.DateRepriseTravail.Visible = False
          Me.Duree.Visible = False
    End If  '  <-------- et non pas Exit Sub
     
    If Me.StatuAdministratif = "PO" Then
        Me.Classement.Visible = True
        Me.Venude.Visible = True
        Me.Etablissements.Visible = True
            Exit Sub
            End If
     
    End Sub


    Merci, si j'ai aucune nouvelle je comprendrai, car moi même j'ai perdu espoir et je laisserai tombé cette idée,

    Bonne et heureuse journée.
    Images attachées Images attachées      

  7. #7
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Dans le Form_Current, supprime l'instruction 129
    Elle ne sert à rien.

    Mais ce n'est pas l'origine du problème.

    Donne un capture d'écran du message d'erreur qui s'affiche.




    le F1 ne marche pas sur mon pc portable DELL
    Revois ton installation de Access, tu n'as probablement pas chargé l'aide.

  8. #8
    Membre du Club
    Homme Profil pro
    Aides soignant
    Inscrit en
    Novembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Aides soignant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2005
    Messages : 125
    Points : 45
    Points
    45
    Par défaut voila l'application
    re bonjour,

    je te confie mon application, merci
    Fichiers attachés Fichiers attachés

  9. #9
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Je suis désolé : je dispose de Access2000, je ne peux donc pas ouvrir ta base.

    Lorsque tu ouvres le formulaire, tu devrais avoir un message d'erreur.
    C'est ce message que tu devrais montrer.

  10. #10
    Membre du Club
    Homme Profil pro
    Aides soignant
    Inscrit en
    Novembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Aides soignant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2005
    Messages : 125
    Points : 45
    Points
    45
    Par défaut
    ok dommage,

    voila le message d'erreur


    et en haut


  11. #11
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Non ce n'est pas cela.

    Ce que tu montres, c'est probablement ce que tu vois lorsque tu as cliqué "débogage" dans la fenêtre du message d'erreur.

    Ce que je te demande, c'est quelque chose comme ceci :
    Images attachées Images attachées  

  12. #12
    Membre du Club
    Homme Profil pro
    Aides soignant
    Inscrit en
    Novembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Aides soignant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2005
    Messages : 125
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    J'avais compris, mais quand je clique sur ma base de donnée pour souvrire, alors j'ai pas de message comme ça, c'est le seule message qu'il montre.

    je vous donne un exemple qui ma été donnée.

    Je peut me permettes une question ?
    Est ce qu'on peut cacher un sous formulaire exemple modifier (au lieu de cacher les 2 champs date et durée)

    Pourquoi j'ai changer d'idée ?
    la première idée me permet juste de stocké qu'une seule opération, donc je ne peut pas connaitre s'il a bénéficier d'autre avant.

    Donc je créer une table et j'instal comme un sous-formulaire N°3.

    Vous me dite j’abandonne l'ancienne idée ? je vous répond non,

    c'est la même seulement au lieu de cacher les trois champs (DateDébutArretTravajl, DateFinArretTravail et Duree), je cache ou active le sous-formulaire N°3 qui veux dire Ongle (le sous-formulaire doit être installé dans un contrôle ongle car j'ai d'autre sous-formulaire).

    Voila ce que je veux dire, tu peut l’ouvrir ça car c'est pas moi qui la fait, je le remercie ainsi vous aussi de me donner un peut devotre temps et vos connaissances.

    http://www.developpez.net/forums/att...1&d=1357974162
    Fichiers attachés Fichiers attachés

  13. #13
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Ton problème vient d’ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Form_Open(Cancel As Integer)
    ...
    Me.ValeurX2 = False
    Me.ValeurX3 = False

    Ces deux contrôles sont des étiquettes, elles n’acceptent pas de valeur True ou False.

    Pour cacher, il faut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.ValeurX2.Visible = False
    Me.ValeurX3.Visible = False
    Autre chose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub X1_BeforeUpdate(Cancel As Integer)
    Ce n’est pas “Avant” mais “Après” ! =>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub X1_AfterUpdate(Cancel As Integer)
    De plus, tu n’auras jamais une réponse « oui » à cette question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Me.X1 = "Selectionné" And Me.X2 = True Then
    Puisque tu as mis X2 à False.



    Commence par essayer d’expliquer ce que tu veux faire « fonctionnellement », le but à atteindre.
    Exemple :
    Je voudrais enregistrer des dossiers de patients qui…
    Je voudrais un formulaire qui...
    Un autre formulaire qui...
    Etc.

    On pourra ainsi t'aider à construire sur une bonne base.

  14. #14
    Membre du Club
    Homme Profil pro
    Aides soignant
    Inscrit en
    Novembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Aides soignant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2005
    Messages : 125
    Points : 45
    Points
    45
    Par défaut
    Bonsoir,

    c'est comme le principe d'une liste déroulante qui alimente une autre, sauf là, c'est cacher et rendre visible un champ et case a cocher aux conditions voulu.

    Le sujet tourne sur les arrêts maladies.

    X1 est une liste déroulante nommé Profession qui comporte "Etudiant";"Salarié";"Retraité"

    le patient peut être un étudiant ou salarié ou bien un retraité.

    Un étudiant ne travail pas, alors ça ne le concerne pas.
    Un retraité ne travail plus, alors ça ne le concerne plus. (Ok?)

    le seul concernée est le salarié (Ok) alors la

    1ère condition = le patient doit être un salarié

    une 2ème question se pose : est ce que le salarié est assurer ? car les arrêt maladies sont payé par les assurances, alors pas d'assurance pas d'arrêt maladie pas de remboursement.

    2ème condition = le salarié doit être assurée aussi.

    X2 est une case a cocher nommée Assuree

    Pour cela que je voudrai cacher X3, X4, X5 et X6 si les 2 première condition ne sont pas remplie. (Ok) qui veut dire :

    Si le salarié est assuré une 3ème question se pose.

    3ème question : Est qu'il est en arrêt maladie ?

    X3 c'est une case a cocher pour répondre a cette question

    Si le salarié est en arrêt maladie (X3) alors Je doit insérer la date de l'arrêt maladie (X4) et la date d’échéance (X5) et calculé la durée (X6) entre eux.

    Si non j'ai pas besoin d'enregistrer alors ne pas montrée le reste de champs.

    Qui résume que si le salarié n'est pas assurée, alors on ne montre pas la possibilité de poser la question s'il est en arrêt maladie ou pas.

    Désolé je ne peut pas expliquer mieux que ça, alors si vous avez des questions, c'est avec un grand plaisir, mieux la compréhension, mieux sera le résultat.



    Si mon idée est irréalisable, dit le moi pour passer a autres choses.
    merci.
    Fichiers attachés Fichiers attachés

  15. #15
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    OK. Ça j'avais compris !

    Ce que je ne comprends pas, c'est ce que tu cherches avec cette application.

    Par exemple, pourquoi un formulaire sans source... et avec du code dans l'événement "Sur activation".

    Je veux bien essayer de t'aider, mais explique-moi d'abord ce que tu veux faire à part cacher ou montrer des cases au fur et à mesure que tu encodes.

    Je crois qu'au départ ton formulaire est mal conçu et c'est à cause de cela que tu n'en sors pas.

  16. #16
    Membre du Club
    Homme Profil pro
    Aides soignant
    Inscrit en
    Novembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Aides soignant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2005
    Messages : 125
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    L'exemple que je vous est envoyez n'est pas mon application, c'est juste pour tester cette idée, la mienne comporte des tables, des requête, des formulaire parmi eux un formulaire multi-recherche que j'ai prie de ce site .

    Mon projet c'est de créer une application pour gérer un service de consultation en Psychiatrie a l'établissement hospitalier spécialiser en psychiatrie de Blida (Frantz FANON) Algérie.

    Je voulais moderniser un peut le service car les documents anciens commence a partir en miette, en plus des malades des fois oublie de ramener leur ordonnance car la date du rendez-vous et son numéro de sont dossier est inscrit dessus, alors mes collègues de travail reste des fois 1h a trouver et des fois pendant ce temps là, le patient peut s’impatiente et ainsi dégénère je ne vous raconte pas la suite.

    Alors amateur comme je suis et avec aucune formation dans la programmation, j'ai voulu aider mes collègues de travail, j'ai déjà travailler avec Access depuis des années mais j’avais pas un but, alors j'ai arrêté, maintenant que j'ai trouver un but alors j'ai foncé.

    La prochaine étape, c'est faire un réseau avec sécurisation par autorisation de login et mot de passe, pour faire participer les médecin a introduire les nouveaux patients avec des formulaires installé sur chaque bureau et un serveur. (comment ?)

    Après ça, j'aimerai faire un petit site pour que des familles des patients sache leurs rendez vous ainsi rester en contacte.

    Après ça je ferai en sorte que chaque pavillon a sont application à lui, pour gérer (patients, médicaments, cuisine, lingerie, personnels, ......), j'aurai aimer que les mise a jours (des patients seulement) soit automatiquement charger sur flash disque pour alimenter le serveur (cette méthode est plus sécurisée) en plus les pavillons sont loin pour installé un réseau.

    On verra la suite au fur et au mesure des besoins.

    C'est un projet comme d'autres.

    Si mon supérieur sera satisfais alors il demanderai pour que fasse des formations et des stages à l'étranger pourquoi pas, si j'y arrive un jour je pourrais moi même former des gens pour laisser la relève et me consacrer aux nouveaux projets.

    Vous croyais que je serai augmenté ? aucune chance, c'est un établissement publique, et ainsi après des années, j'aurais au moins laisser des traces derrière moi grâce a vous et ce site car rien de tous ça ne serai réalisables sans votre aide si précieuse, merci.

  17. #17
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Merci pour l'effort !

    Voici un exemple en annexe.
    Remarque que j'ai nommé les contrôles d'une manière explicite (pas X1, X2...), cela aide à s'y retrouver !

    Le code associé au formulaire :
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    Option Compare Database
    Option Explicit
     
    Private Sub ccArret_AfterUpdate()
    'Neutraliser les choix antérieurs éventuels
    Me.txtDebut = Null
    Me.txtFin = Null
    Me.txtDuree = Null
    'Montrer les contrôles utiles à la suite du choix
    If Me.ccArret = -1 Then   'donc sélectionné
        Me.etDebut.visible = True
        Me.txtDebut.visible = True
        Me.etFin.visible = True
        Me.txtFin.visible = True
        Me.etDuree.visible = True
        Me.txtDuree.visible = True
      Else
        Me.etDebut.visible = False
        Me.txtDebut.visible = False
        Me.etFin.visible = False
        Me.txtFin.visible = False
        Me.etDuree.visible = False
        Me.txtDuree.visible = False
    End If
    End Sub
     
    Private Sub ccAssure_AfterUpdate()
    'Neutraliser les choix antérieurs éventuels
    Me.ccArret = Null
    'Montrer les contrôles utiles à la suite du choix
    If Me.ccAssure = -1 Then   'donc coché
        Me.etArret.visible = True
        Me.ccArret.visible = True
      Else
        Me.etArret.visible = False
        Me.ccArret.visible = False
        Me.etDebut.visible = False
        Me.txtDebut.visible = False
        Me.etFin.visible = False
        Me.txtFin.visible = False
        Me.etDuree.visible = False
        Me.txtDuree.visible = False
    End If
    End Sub
     
    Private Sub Form_Open(Cancel As Integer)
    'Au départ, on cache tout sauf profession
    Me.etAssure.visible = False
    Me.ccAssure.visible = False
    Me.etArret.visible = False
    Me.ccArret.visible = False
    Me.etDebut.visible = False
    Me.txtDebut.visible = False
    Me.etFin.visible = False
    Me.txtFin.visible = False
    Me.etDuree.visible = False
    Me.txtDuree.visible = False
    End Sub
     
    Private Sub zlProfession_AfterUpdate()
    'Neutraliser les choix antérieurs éventuels
    Me.ccAssure = Null
    'Montrer les contrôles utiles à la suite du choix
    If Me.zlProfession = "Salarié" Then
        Me.etAssure.visible = True
        Me.ccAssure.visible = True
      Else
        Me.etAssure.visible = False
        Me.ccAssure.visible = False
        Me.etArret.visible = False
        Me.ccArret.visible = False
        Me.etDebut.visible = False
        Me.txtDebut.visible = False
        Me.etFin.visible = False
        Me.txtFin.visible = False
        Me.etDuree.visible = False
        Me.txtDuree.visible = False
    End If
    End Sub
    Le formulaire :
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  18. #18
    Membre du Club
    Homme Profil pro
    Aides soignant
    Inscrit en
    Novembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Aides soignant
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2005
    Messages : 125
    Points : 45
    Points
    45
    Par défaut
    Bonsoir,

    Un grand merci, c'est exactement ce que je voulais.

    Extraordinaire.

    Je vais bien dormir ce soir.

    Merci.

Discussions similaires

  1. [AC-2010] Champ visible sous condition
    Par eric0512 dans le forum VBA Access
    Réponses: 3
    Dernier message: 16/02/2012, 19h17
  2. [AC-2010] Champ visible sur condition (formulaire continu)
    Par Yass931 dans le forum IHM
    Réponses: 13
    Dernier message: 02/08/2011, 09h59
  3. [AC-2003] Champ calcul sur condition
    Par willytito dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 07/04/2011, 14h50
  4. Réponses: 10
    Dernier message: 08/12/2010, 05h48
  5. Champ obligatoire sur condition
    Par surzone dans le forum IHM
    Réponses: 2
    Dernier message: 17/01/2008, 09h15

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