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 :

Valeur par défaut d'une zone de liste déroulante sous condition


Sujet :

VBA Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut Valeur par défaut d'une zone de liste déroulante sous condition
    Bonjour

    J'ai besoin de votre aide pour compléter la valeur par défaut d'une zone déroulante à l'ouverture d'un formulaire.

    Cette liste propose le ou les noms des clients du contrat que j'établis

    Lorsqu'il n'y a qu'un seul client, je voudrais que par défaut elle se remplisse avec son nom et qu'elle reste à compléter si j'ai plusieurs clients

    je suppose qu'il faut que je vérifie d'abord le nombre de clients vient un cptedom ou une requête, puis si le résultat est 1, elle se remplisse, et dans le cas contraire elle laisse le soin à l'utilisateur de choisir

    mais je ne sais pas comment l'exprimer

    Merci de votre aide

    isabelle

  2. #2
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    bonjour
    essai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Me.Modifiable16.ListCount = 1 Then
    Me.Modifiable16 = Me.Modifiable16.ItemData(0)
    End If
    remplace modifiable16 par le nom de ta liste

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut
    Voici le code que j'ai mis sur ouverture du formulaire

    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 IsNull(Me.ZL_MO) And Me.ZL_MO.ListCount = 1 Then
        Me.ZL_MO = Me.ZL_MO.ItemData(0)
    End If
     
    End Sub
    Il me dit qu'il est impossible de donner une valeur à cet objet

    VOici le contenu de la liste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT T_mo.ID_Mo, T_mo.MO, T_ChantierMo.ID_Chantier
    FROM T_mo INNER JOIN T_ChantierMo ON T_mo.ID_Mo = T_ChantierMo.ID_Mo
    WHERE (((T_ChantierMo.ID_Chantier) Like [Formulaires]![F_Contrat]![ID_CHANTIER]));
    S'il y a plusieurs clients (mo) tout ce passe bien, mais si la liste ne contient qu'un client (mo), il me dit qu'il ne peut pas attribuer de valeur à l'objet

    merci à toi

  4. #4
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    essai sur la procedure activation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    IF Me.ZL_MO.ListCount = 1 Then
        Me.ZL_MO = Me.ZL_MO.ItemData(0)
    End If
    sinon a tu des entetes sur ta liste?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut
    non pas d'entête

    tu as enlevé le test pour savoir si la liste est vide

    est ce volontaire ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 159
    Points
    159
    Par défaut
    Ca marche

    génial

    merci de ton aide


  7. #7
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    le test ne sert a rien puisqu'il faut au moin un enregistrement dans la liste pour que la condition se face (si la liste est vide on peut rien afficher)

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

Discussions similaires

  1. [AC-2010] Pb Valeur par défaut d'une zone de liste déroulante
    Par spawny161184 dans le forum IHM
    Réponses: 1
    Dernier message: 30/10/2012, 16h34
  2. Valeur par défaut dans une zone de texte
    Par juliojc13 dans le forum VBA Access
    Réponses: 18
    Dernier message: 01/06/2007, 14h01
  3. valeur par défaut d'une zone de texte
    Par remi59 dans le forum IHM
    Réponses: 2
    Dernier message: 08/02/2007, 12h01
  4. Réponses: 6
    Dernier message: 06/09/2006, 14h50
  5. Sélection valeur par défaut dans une zone de liste
    Par Cécile154 dans le forum IHM
    Réponses: 2
    Dernier message: 15/02/2005, 18h20

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