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 :

[Mise à jour champ] Affecter une valeur en fonction d'un autre champ


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Points : 39
    Points
    39
    Par défaut [Mise à jour champ] Affecter une valeur en fonction d'un autre champ
    Bonjour, en fait j'aimerai affecter une valeur à un champ, nommé InterventionStatut, j ai essayé cette manière mais sans resultat convaincant, je solicite donc votre aide si quelqu'un peut m'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub UpdateInterventionStatut()
     
        If AccesCode <> "" Or Not IsNull(AccesCode) Then
            InterventionStatut = "En cours"
        End If
     
        Me.Refresh
     
    End Sub
    AccesCode est le nom de la zone de liste que je test, InterventionStatut est le nom de la zone de liste dont je veux changer la valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub InterventionStatut_AfterUpdate()
        UpdateInterventionStatut
    End Sub
    Mais ca ne fonctionne pas..

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        If AccesCode <> "" Or Not IsNull(AccesCode) Then
            InterventionStatut = "En cours"
        End If
     
        Me.Refresh
    devrait fonctionner mais il faut que tu les places sur l'afterUpdate() de la zone AccessCode.

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Points : 39
    Points
    39
    Par défaut
    En effet ca parrait deja plus logique que mon raisonnement , malheureusement ca ne fonctionne pas . Le fait que ce soit des zones de liste avec une source de contrôle et un contenu attribué par une requête SQL et non un simple champ n'est pas génant au final?

    J'ai également essayé une valeur par defaut mais ca ne fonctionne pas non plus..

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Est-ce que la source de InterventionStatut comprend "en cours" ?
    Combien de colonnes comprend InterventionStatut ?

    Si InterventionStatut comprend plusieurs colonnes, il faut affecter par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InterventionStatut.Column(indexDeLa colonne) = "En cours"
    Sinon, il faut utiliser la propriété itemSelected.

    Si tu dois ajouter "en cours" à ta zone de liste il faut utiliser addItem.

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Points : 39
    Points
    39
    Par défaut
    Merci pour ta réponse. Oui ma liste InterventionStatut comprend "En cours", j'ai d'ailleurs testé un List.ItemData(i) en valeur par defaut mais ca ne marche pas non plus.

    Ensuite non, je n'ai qu'une colonne dans InterventionStatut,

    Je ne comprends pas pourquoi il ne m'affiche rien , je me resouds finalement a seulement mettre une valeur par defaut ("En cours") qui est dans ma liste mais je n'y arrive pas non plus

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.InterventionStatut = "En cours"
    Me.InterventionStatut.requery
    Par contre il faut aussi que tu affectes la valeur qui va bien pour AccessCode null ou vide.
    Sinon, ta liste garde la derniere valeur sélectionnée

    Et pour l'affichage, vérifie ta source de données, si tu tapes dans une table, vérifie avec le QBE qu'il y a queque chose à afficher

  7. #7
    Futur Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    noter bien que l'expression [AccesCode <> "" Or Not IsNull(AccesCode)] est toujours vrai

  8. #8
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Points : 39
    Points
    39
    Par défaut
    J 'ai essayé, donc je recupère bien la valeur, j ai essayé en mode debug il me dit que la valeur de mon champ est bien egal a "En cours", mais il ne me l'affiche pas dans ma zone de liste

  9. #9
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    Salut,

    Citation Envoyé par Zartak
    Ensuite non, je n'ai qu'une colonne dans InterventionStatut,
    tu n'as pas de colonne masquée dans ta zone de liste?
    Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)

  10. #10
    Futur Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Il suffit que ta liste contient le text "En cours"

  11. #11
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Points : 39
    Points
    39
    Par défaut
    Si mais la liste masquée contient d'autres valeurs qui n'ont rien avoir, ca a une influence?

    Dans ma liste j'ai bien "En cours", si c est ce terme que je veux afficher ca pose quand même un problême?

  12. #12
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    Une zone de liste à une colonne liée.
    c'est cette colonne qui contient la valeur qui sera exploitée.

    tu peux avoir
    col1 col2
    1 vrai
    2 faux
    3 En cours
    si ta colonne liée est la colonne 1 et qu'elle soit masquée, pour afficher "En cours dans ta zone de liste il faut que tu mettes maliste=3
    Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)

  13. #13
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Points : 39
    Points
    39
    Par défaut
    Ma colonne liée c est plutot la première avec d'autres valeurs :

    colonne 1 colonne 2
    1.ENCOURS En cours

    J'affiche la deuxième colonne tout en fesant une selction a partir de la première ( c est pour les enregistrements dans la table )

  14. #14
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    alors essaies ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InterventionStatut = "ENCOURS"
    Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)

  15. #15
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Points : 39
    Points
    39
    Par défaut
    En effet apres reflexion ca semble plus logique..! je te remercie mille fois !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub AccesCode_AfterUpdate()
        If AccesCode <> "" Or Not IsNull(AccesCode) Then
            Me.InterventionStatut = "1.ENCOURS"
            Me.InterventionStatut.Requery
        End If
     
    End Sub

  16. #16
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 71
    Points : 39
    Points
    39
    Par défaut
    Finalement j'ai du retoucher un peu le code pour que le changement ne se fasse pas à chaque selection, mais que ca fonctionne plutôt comme une valeur par défaut lors de la première sélection:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub AccesCode_AfterUpdate()
        'Valeur par defaut d'intervention Statut
     
        If AccesCode <> "" Or Not IsNull(AccesCode) Then
            If Me.InterventionStatut = "1.ENCOURS" Or Me.InterventionStatut = "2.RESOLU" Then
                'Ne rien faire
            Else
                Me.InterventionStatut = "1.ENCOURS"
                Me.InterventionStatut.Requery
            End If
        End If
    End Sub
    Voila merci à ceux qui m'ont aidé !

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/03/2015, 23h16
  2. [AC-2003] affecter une valeur en fonction de plusieurs autres valeurs
    Par nounous54 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 13/12/2013, 18h10
  3. Réponses: 2
    Dernier message: 28/05/2007, 09h28
  4. Réponses: 1
    Dernier message: 03/05/2007, 08h10
  5. [JSP] Mise à jour d'un menu déroulant en fonction d'un autre
    Par Lady_jade dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 12/12/2005, 13h32

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