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 :

Inversion automatique des données dans un contrôle liste déroulante


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Points : 94
    Points
    94
    Par défaut Inversion automatique des données dans un contrôle liste déroulante
    Bonjour à tous !

    Voici mon petit soucis :

    J'ai un contrôle liste déroulante dont la source est un champ d'une requête qui a concaténé deux informations : Nom&" "&Prénom. Cette liste déroulante me permet de rechercher un enregistrement dans mon formulaire basé sur le nom que j'aurai sélectionné.

    Le soucis c'est que parfois je voudrais pouvoir rechercher par prénom et non par nom. Je voulais savoir s'il existait une procédure qui permettait en cliquant sur un bouton, d'inverser Nom prénom en prénom Nom afin de pouvoir chercher simplement dans la liste,

    une idée pour m'aiguiller sur la méthode ?

    Cordialement,

    Sardaucar

  2. #2
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 591
    Points
    3 591
    Billets dans le blog
    8
    Par défaut
    Salut
    Ton code stp.
    @+

  3. #3
    Membre régulier
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Points : 94
    Points
    94
    Par défaut
    Je n'en ai pas fait pour le moment en VBA, j'ai créé la fonction de recherche de ma liste déroulante par macro pour le moment...

  4. #4
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 591
    Points
    3 591
    Billets dans le blog
    8
    Par défaut
    Salut
    Pour ma part je travaille rarement avec les macros; juste "AutoExec".
    Peux-tu au moins nous indiquer les lignes du macro (en mode création).
    @+

  5. #5
    Membre régulier
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Points : 94
    Points
    94
    Par défaut
    Alors voici la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT R_CandidatsValidésToutSite.[NomPrenom] FROM R_CandidatsValidésToutSite;
    Voici la condition Where de l'évènement AprèsMaj :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ="[NomPrenom] = " & "'" & [Screen].[ActiveControl] & "'"
    Et une petite Sub sur la réception du focus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Modifiable55_GotFocus()
     
    Me.Modifiable55.Dropdown
    Me.Modifiable55 = Null
     
    End Sub
    En espérant que ça puisse t'aider !

  6. #6
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 591
    Points
    3 591
    Billets dans le blog
    8
    Par défaut
    Salut
    Peux-tu m'envoyer une copie de ta base avec uniquement le formulaire, les tables et requêtes concernées. Je ne te promet rien vu que je ne suis pas très à l'aise avec les macros.
    @+

  7. #7
    Membre régulier
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Points : 94
    Points
    94
    Par défaut
    Essai.rar

    Voici ce que je peux t'envoyer, j'ai aussi enlevé les macros et mis la fonction recherche en vba comme il suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Not IsNull(Me.Modifiable133) Then
    strFiltre = "[ID_personnes]=" & Me.Cbocherche
    Me.Filter = strFiltre
    Me.FilterOn = True
    Me.Requery
    merci d'avance !

  8. #8
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 591
    Points
    3 591
    Billets dans le blog
    8
    Par défaut
    Salut
    Voici une solution.
    @+
    Fichiers attachés Fichiers attachés

  9. #9
    Membre régulier
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Points : 94
    Points
    94
    Par défaut
    Ça m'aide beaucoup . Bon l'idée est plutôt de modifier la Cbo Recherche que l'ordre du résultat mais en partant de ce que tu à fais je devrais m'en sortir. Peut-être en créant un requête nom prénom et une prénom nom et suivant le choix du cadre d'option appeler l'une ou l'autre requête ?

  10. #10
    Membre régulier
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Points : 94
    Points
    94
    Par défaut
    Bon alors j'ai essayé avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub NP_Click()
    Dim NomPrenom As String
    Dim PrenomNom As String
     
    Modifiable56.RowSourceType = "Table/Query"
    NomPrenom = "SELECT [R_CandidatsValidésToutSite].[ID_personnes], [R_CandidatsValidésToutSite].[NomPrenom] FROM R_CandidatsValidésToutSite; "
    PrenomNom = "SELECT [R_CandidatsValidésToutSite].[ID_personnes], [R_CandidatsValidésToutSite].[PrenomNom] FROM R_CandidatsValidésToutSite; "
     
    If Me.NP.Caption = "N" Then Me.NP.Caption = "P" And Me.Modifiable56.RowSource = NomPrenom Else Me.NP.Caption = "N" And Me.Modifiable56.RowSource = PrenomNom
     
    End Sub
    Mais ça me mets une erreur d'incompatibilité de type,

    Sauriez vous pourquoi ?

    Cordialement,

    Sardaucar

  11. #11
    Membre régulier
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Points : 94
    Points
    94
    Par défaut
    Bon finalement j'ai réussi à me dépatouiller, je mets mon bout de code pour la postérité même si je penses qu'on pouvait faire plus simple :

    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
    Private Sub NPA_Click()
    Dim NomPrenom As String
    Dim PrenomNom As String
     
     
    Me.Cherche.RowSourceType = "Table/Query"
    PrenomNom = "SELECT [R_CandidatsValidésToutSite].[ID_personnes],[R_CandidatsValidésToutSite].[PrenomNom] FROM R_CandidatsValidésToutSite ORDER BY [R_CandidatsValidésToutSite].[PrenomNom]"
    NomPrenom = "SELECT [R_CandidatsValidésToutSite].[ID_personnes],[R_CandidatsValidésToutSite].[NomPrenom] FROM R_CandidatsValidésToutSite"
     
    If Me.NPA.Caption = "Nom/Prenom" Then Me.Cherche.RowSource = NomPrenom Else Me.Cherche.RowSource = PrenomNom
    If Me.NPA.Caption = "Nom/Prenom" Then Me.NPA.Caption = "Prenom/Nom" Else Me.NPA.Caption = "Nom/Prenom"
     
    Me.Cherche.Requery
     
    End Sub
    Merci à ceux qui m'ont aidés

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

Discussions similaires

  1. [AC-2003] Insertion des données dans une zone liste
    Par Expensive dans le forum IHM
    Réponses: 3
    Dernier message: 17/12/2012, 11h50
  2. inserer automatiquement des données dans une table
    Par niyio dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 13/03/2012, 09h25
  3. [Toutes versions] Insérer automatiquement des données dans une TextBox de mon userform
    Par Valoche37 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/01/2012, 18h18
  4. Réponses: 7
    Dernier message: 21/06/2011, 11h18

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