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 :

Comment renseigner deux zones de listes déroulantes grace à deux boutons de commande [AC-2013]


Sujet :

Access

  1. #1
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut Comment renseigner deux zones de listes déroulantes grace à deux boutons de commande
    Bonsoir membres du forum,
    J'ai deux boutons de commandes qui affichent le formulaire Frm_Tbl_Contacts
    après click sur la cmde CmdAjoutCréancier ou CmdAjoutDÉBITEUR du formulaire (voir capture)

    Nom : Capture3.JPG
Affichages : 93
Taille : 86,0 Ko

    Au double clique sur la zone de texte NomPrenomsCompletContact du formulaire Frm_Tbl_Contacts

    Nom : Capture4.JPG
Affichages : 80
Taille : 199,1 Ko

    soit la zone de liste déroulante CRÉANCIER du formulaire Frm_Tbl_EnregistrementDetteCreditBDialogue
    est renseigné
    sinon la zone de liste déroulante DÉBITEUR est renseigné selon la commande corresponde se trouvant sur le
    formulaire Frm_Tbl_EnregistrementDetteCreditBDialogue.
    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 NomPrenomsCompletContact_DblClick(Cancel As Integer)
    If CurrentProject.AllForms("Frm_Tbl_EnregistrementDetteCreditBDialogue").IsLoaded Then
      Forms![Frm_Tbl_EnregistrementDetteCreditBDialogue]![CmdAjoutCréancier].LostFocus
      Forms!Frm_Tbl_EnregistrementDetteCreditBDialogue!CRÉANCIER = Me.ID_Contacts
      Forms!Frm_Tbl_EnregistrementDetteCreditBDialogue!CRÉANCIER.SetFocus
        DoCmd.Close acForm, Me.Name
    'End If
    'Forms![Frm_Tbl_EnregistrementDetteCreditBDialogue]![CmdAjoutCRÉANCIER]
    'Forms![Frm_Tbl_EnregistrementDetteCreditBDialogue]![CmdAjoutDÉBITEUR]
     
    ElseIf CurrentProject.AllForms("Frm_Tbl_EnregistrementDetteCreditBDialogue").IsLoaded Then
        Forms![Frm_Tbl_EnregistrementDetteCreditBDialogue]![CmdAjoutDÉBITEUR].LostFocus
        Forms!Frm_Tbl_EnregistrementDetteCreditBDialogue!DÉBITEUR = Me.ID_Contacts
        Forms!Frm_Tbl_EnregistrementDetteCreditBDialogue!DÉBITEUR.SetFocus
        DoCmd.Close acForm, Me.Name
    End If
     
    End Sub
    Message d'erreur:

    Nom : Capture1.JPG
Affichages : 79
Taille : 153,6 Ko
    Nom : Capture2.JPG
Affichages : 74
Taille : 138,0 Ko

    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    il faut supprimer cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![Frm_Tbl_EnregistrementDetteCreditBDialogue]![CmdAjoutCréancier].LostFocus
    car cette propriété n'est pas gérée; comme l'indique le message d'erreur, c'est à dire que ce n'est pas une action que l'on peut faire à ce contrôle (on ne peut pas lui faire perdre le focus)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    bonsoir,
    il faut supprimer cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![Frm_Tbl_EnregistrementDetteCreditBDialogue]![CmdAjoutCréancier].LostFocus
    car cette propriété n'est pas gérée; comme l'indique le message d'erreur, c'est à dire que ce n'est pas une action que l'on peut faire à ce contrôle (on ne peut pas lui faire perdre le focus)
    Bonsoir tee_grandbois,

    J'ai effacé la ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Forms![Frm_Tbl_EnregistrementDetteCreditBDialogue]![CmdAjoutCRÉANCIER].LostFocus
    ensuite, séparés les codes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub NomPrenomsCompletContact_DblClick(Cancel As Integer)
    If CurrentProject.AllForms("Frm_Tbl_EnregistrementDetteCreditBDialogue").IsLoaded Then
      Forms!Frm_Tbl_EnregistrementDetteCreditBDialogue!CRÉANCIER = Me.ID_Contacts
      Forms!Frm_Tbl_EnregistrementDetteCreditBDialogue!CRÉANCIER.SetFocus
        DoCmd.Close acForm, Me.Name
    End If
     
    End Sub
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub ContactPrenom_DblClick(Cancel As Integer)
    If CurrentProject.AllForms("Frm_Tbl_EnregistrementDetteCreditBDialogue").IsLoaded Then
        Forms!Frm_Tbl_EnregistrementDetteCreditBDialogue!DÉBITEUR = Me.ID_Contacts
        Forms!Frm_Tbl_EnregistrementDetteCreditBDialogue!DÉBITEUR.SetFocus
        DoCmd.Close acForm, Me.Name
    End If
    End Sub
    pourtant je voudrais les réunir dans la zone de texte NomPrenomsCompletContact.

    Nom : Capture5.JPG
Affichages : 66
Taille : 199,0 Ko

    Comment faut il le faire afin que chaque destination soit respectée ?

    Nom : Capture6.JPG
Affichages : 73
Taille : 95,0 Ko

    Cordialement.
    Fichiers attachés Fichiers attachés
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    pourtant je voudrais les réunir dans la zone de texte NomPrenomsCompletContact.
    Comment faut il le faire afin que chaque destination soit respectée ?
    désolé, je ne comprend ni la finalité du besoin ni la question
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    désolé, je ne comprend ni la finalité du besoin ni la question
    Voila ce que je voudrais dire:

    - il y a deux commandes CmdAjoutCRÉANCIER et CmdAjoutDÉBITEUR sur
    le formulaire Frm_Tbl_EnregistrementDetteCreditBDialogue qui permettent d'afficher l'autre
    formulaire Frm_Tbl_Contacts.

    1°) Après clique sur la CmdAjoutCRÉANCIER affiche le Frm_Tbl_Contacts qui a une zone
    de texte NomPrenomsCompletContact dans laquelle après double clique repart renseigner
    la zone de liste déroulante CRÉANCIER du formulaire de départ qui est Frm_Tbl_EnregistrementDetteCreditBDialogue.

    Ensuite,
    2°) je reviens sur le formulaire Frm_Tbl_EnregistrementDetteCreditBDialogue qui est toujours en chargement pour cliquer sur la commande CmdAjoutDÉBITEUR pour afficher encore une fois le Frm_Tbl_Contacts
    puis cliquer sur sa zone de texte ContactPrenom qui part une dernière fois renseigner la zone de liste
    deroulante DÉBITEUR du Frm_Tbl_EnregistrementDetteCreditBDialogue.

    3°) Clique sur Enregistrer du Frm_Tbl_EnregistrementDetteCreditBDialogue pour terminer.

    Dans la mesure où je serais compris, je vous ramènerais à la question suivante:
    comment réunir les deux codes dans une seule zone de texte ?
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  6. #6
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut
    Ne serait-il pas plus simple de saisir directement dans les cboCreanciers ou cboDebiteurs la valeurs que vous cherchez que de faire tout ce mic mac ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub cboCreanciers_KeyUp(KeyCode As Integer, Shift As Integer)
    If Len(Me.cboCreanciers.Text) > 0 Then
        Me.cboCreanciers.RowSource = "SELECT * FROM LATable WHERE NomPrenomsCompletContact LIKE '*" & Me.cboCreanciers.Text & "*'"
        Me.cboCreanciers.Dropdown
    Else
        Me.cboCreanciers.RowSource = ""
    End If
    End Sub
    Et dans votre Frm_Tbl_EnregistrementDetteCreditBDialogue les champs NomPrenomsCreancier et NomPrenomsDebiteur sont superflus puisque les mêmes valeurs s'affichent dans les cbo.
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  7. #7
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Bonsoir hyperion13,
    Merci de m'avoir enseigner votre méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub CRÉANCIER_KeyUp(KeyCode As Integer, Shift As Integer)
    If Len(Me.CRÉANCIER.Text) > 0 Then
        Me.CRÉANCIER.RowSource = "SELECT * FROM Tbl_Contacts WHERE NomPrenomsCompletContact LIKE '*" & Me.CRÉANCIER.Text & "*'"
        Me.CRÉANCIER.Dropdown
    Else
        Me.CRÉANCIER.RowSource = ""
    End If
    End Sub
    . Néanmoins je souhaite rester sur la proposition que j'ai faite
    dans l'avant post #5 car la liste Frm_Tbl_Contacts étant affichée, il m'est facile de double-cliquer sur
    la (les) personne(s) à enregistrer dans les différentes combobox.

    J'espère trouver une solution finale.
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/03/2016, 14h33
  2. Réponses: 2
    Dernier message: 20/11/2009, 11h37
  3. Mise à jour zone de liste déroulante grace à un code
    Par chibredor dans le forum VBA Access
    Réponses: 10
    Dernier message: 14/08/2008, 15h43
  4. Réponses: 14
    Dernier message: 19/03/2007, 22h52
  5. Réponses: 6
    Dernier message: 14/08/2006, 08h58

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