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 :

[VBA]Mise à jour zone de liste


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 132
    Points : 88
    Points
    88
    Par défaut [VBA]Mise à jour zone de liste
    Bonjour,

    Dans le code suivant, je remplis une zone de liste, mais à l'affichage, elle apparait à blanc; je pense qu'il s'agit d'un problème de rafraichissement mais je bute sur la façon de rafraichier depuis ce matin
    Pouvez-vous m'aider ?

    Merci

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Private Sub MotDir_AfterUpdate()
    Dim query As DAO.QueryDef
    Dim Rec As DAO.Recordset
     
     
    MotDir = UCase$(MotDir)
    Set query = CurrentDb.QueryDefs("Recherche client alpha")
    query.Parameters("param") = Forms![Recherche client]![MotDir]
     
    test = query.Parameters("param")
     
    Set Rec = query.OpenRecordset
     
    If Rec.RecordCount = 0 Then
            MsgBox "Aucun client", vbInformation
         Else
    DoCmd.OpenForm ("Affichage Recherche Alpha")
     
    While Not Rec.EOF
        Forms![Affichage Recherche Alpha]!Liste2.RowSource = Forms![Affichage Recherche Alpha]!Liste2.RowSource _
        & Rec("Susp") & ";" & Rec("C30CPT") & ";" & Rec("C30AD1") & ";" & Rec("C30POS") & ";" _
        & Rec("C30AD5") & ";" & Rec("C30REP") & ";" _
        & Rec("C30LAN") & ";" & Rec("NOM") & ";"
     
        Rec.MoveNext
     
     Wend
     
     End If
     
    End Sub

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    Tu veux faire quoi exactement. Parce que j'ai l'impression que tu te compliques la vie pour rien.

    MotDir correspond à quoi ? Liste, champ ??

    Si tu veux affecter une source à une liste déroulante en focntion d'une valeur saisie dans un champ texte je te conseille la manipulation suivante :
    Un champ texte, un bouton, la liste.
    Sur clic du bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Me.Lst_Resultat.RowSource = "Ta chaine SQL"
    If Me.Lst_Resultat.ListCount = 0 Then
        MsgBox "Il n'y a pas de résultats pour la recherche suivante :" & vbLf & Me.Recherche, vbExclamation
        Me.Recherche.SetFocus
    End If

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 132
    Points : 88
    Points
    88
    Par défaut
    Motdir est un champ de formulaire qui est passé en paramètre à ma requête.
    Je souhaite afficher le résulta de ma requête dans un zone de liste

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Alors le code que je t'ai fourni est tout indiqué
    Lst_Resultat = liste déroulante
    Recherche = champ texte (pour toi MotDir)

    Tu as juste à mettre le SQL de ta requête et à le modifier pour récupérer la valeur du champ MotDir
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Lst_Resultat.RowSource = "SELECT Nom FROM Client WHERE Nom Like " & Chr(34) & Chr(42) & Me.Recherche & Chr(42) & Chr(34)"

  5. #5
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 132
    Points : 88
    Points
    88
    Par défaut
    Merci beaucoup, Je fais un essai

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

Discussions similaires

  1. [AC-2000] Mise à jour zone de liste sous formulaire
    Par SLEGRAND76 dans le forum IHM
    Réponses: 0
    Dernier message: 01/10/2009, 15h47
  2. 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
  3. Réponses: 8
    Dernier message: 16/05/2008, 11h31
  4. [Formulaire][00]Mise à jour zone de liste
    Par ThieBEN dans le forum IHM
    Réponses: 4
    Dernier message: 07/05/2007, 16h04
  5. Réponses: 2
    Dernier message: 26/01/2007, 15h56

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