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 :

Comment rendre champ inaccessible selon réponse autre champs? [AC-2003]


Sujet :

IHM

  1. #1
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut Comment rendre champ inaccessible selon réponse autre champs?
    Bonjour,

    J’ai cherché sur le net et dans les faq et je ne trouve pas de réponse. Je ne sais d’ailleurs pas quels mots clés utiliser précisément :

    Admettons que ma base aurait 10 champs. Dans mon formulaire, si le champ « CHAMP5 » = « Abc » alors je veux que les champs 6, 7 et 8 soit inaccessible. Impossible d’y entrer aucune donnée. Si le "CHAMPS6" = n’importe quoi d’autre, alors on peut entre de l’information en 6, 7 et 8.

    Où chercher, ou encore quel code utiliser?

    Merci!

    Souriane

  2. #2
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 91
    Points : 58
    Points
    58
    Par défaut
    Bonjour,

    je pense que tu devrais mettre des condition et utiliser la fonction ENABLED sur tes champs.

    par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if champ5="abc" then 
    champ6.enabled=false
    champ7.enabled=false
    .... (et ainsi de suite)
    endif
    ou encore utiliser la fonction LOCKED (La propriété Locked spécifie si vous pouvez modifier les données d'un contrôle en mode Formulaire)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        If Me!EmployeeType = "Manager" Then
            Me!SalaryDetails.Enabled = True
            Me!PersonalInfo.Enabled = True
            Me!PersonalInfo.Locked = False
        Else
            Me!SalaryDetails.Enabled = False
            Me!PersonalInfo.Enabled = False
            Me!PersonalInfo.Locked = True
        End If

  3. #3
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Ça ne fait pas ce que je souhaite. Je l'ai adapté comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        If Me!Donnee1= "susceptible" Then
            Me!Donnee2.Enabled = True
            Me!Donnee3.Enabled = True
        Else
            Me!Donnee2.Enabled = False
            Me!Donnee3.Enabled = False
        End If
    Et je l'ai assigné à "sur sortie" du champ "Donnee1"

    Mais ce que ça fait c'est :
    si le champs "Donnee1" de l'enregistrement par exemple #50 = "non susceptible" alors les champs Donne2 et Donne 3 de TOUS les enregistrements deviennent inaccessibles (bloqués) jusqu'à ce que je réaccède à un champs "Donne1" d'un autre enregistrement qui égal à "susceptible".

    LA QUESTION : comment modifier la macro pour que seul les champs de l'enregistrement en cours soient affectés?

    ENREGISTREMENT1 si Donne1 = susceptible = rien
    ENREGISTREMENT2 si Donne1 = non-susceptible = Donnee2 et Donne3 bloqués
    ENREGISTREMENT3 si Donne1 = non-susceptible = Donnee2 et Donne3 bloqués
    ENREGISTREMENT4 si Donne1 = susceptible = rien


    Gros merci pour votre aide!

    Souriane

  4. #4
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Et up sur ce problème! (J'ai manqué de temps pour faire up avant! )

    Donc, comment je fais pour que seul l'enregistrement en cours soit affecté, et non pas tout la bd?

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    tu ne nous dis pas à quel moment tu veux rendre ces champs inaccessibles ?

    Une des solutions serait de mettre ce contrôle sur le Current du formulaire.
    Plutôt que de te perdre dans des If interminables, je te conseille d'utiliser un Selct Case

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Select Case Me.Données1
    Case "susceptible"
            Me!Donnee2.Enabled = False
            Me!Donnee3.Enabled = False
    Case "Enfin"
            Me!Donnee4.Enabled = False
            Me!Donnee5.Enabled = False
    Case Else
            Me!Donnee2.Enabled = False
            Me!Donnee3.Enabled = False
    End Select
    Et ce dans l'évènement

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

  6. #6
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Super! Ça fonctionne! Un groooooos merci!

    Autre question : mon formulaire a plusieurs onglets. Comment est-ce que je fais pour que certains champs des autres onglets soient affectés de la même manière?

    Si j'écris ainsi, ça ne fonctionne pas. Ça bug à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me!DateParutionAvis2.Enabled = True

    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
    Private Sub Form_Current()
    Select Case Me.SusceptibleApprobation
    Case "susceptible"
    'Sur onglet #1
            Me!DateAdoptionProjet2.Enabled = True
            Me!ResolutionAdoptionProjet2.Enabled = True
    'Sur Onglet #20
       Me!DateParutionAvis2.Enabled = True
     
    Case Else
    'Sur onglet #1
            Me!DateAdoptionProjet2.Enabled = False
            Me!ResolutionAdoptionProjet2.Enabled = False
    'Sur onglet #20
           Me!DateParutionAvis2.Enabled = False
     
    End Select
     
    End Sub

  7. #7
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Je ne rencontre pas de problème avec les onglets ?

  8. #8
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    J'ai donc cherché l'erreur, et j'ai trouvé! Ah que je suis contente!!

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

Discussions similaires

  1. Dernières entrées selon un autre champ
    Par kosowski dans le forum Langage SQL
    Réponses: 9
    Dernier message: 31/12/2009, 08h47
  2. Réponses: 1
    Dernier message: 08/01/2008, 17h01
  3. Affichage données selon un autre champ : Requête ou VBA?
    Par Noemy23 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 03/07/2007, 13h13
  4. Réponses: 11
    Dernier message: 17/01/2007, 22h06
  5. Réponses: 6
    Dernier message: 29/05/2006, 19h43

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