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 :

[VBA Access2003] ma zone de liste ne change pas alors qu'elle le devrais


Sujet :

Access

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 214
    Points : 169
    Points
    169
    Par défaut [VBA Access2003] ma zone de liste ne change pas alors qu'elle le devrais
    salut, . j'ai code suivant, qui doit faire que ma zone de liste change en fonction de ce qui est écrit dans une zone de texte, et elle marchotte, une fois qu'elle à changer une fois, elle boude et reste telle quelle bien que en mode débogage toute les ligne qui corresponde au test que j'effectue sont bien exécuter...

    je suis aller voir dans la FAQ ou j'ai trouver la fonction refresh, qui m'a été utile.

    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
    32
    33
    34
    35
    Private Sub ZT_FichProgOK_KeyUp(KeyCode As Integer, Shift As Integer)
    Dim SqlOK As String
    Dim SqlNotOK As String
     
        Me.Refresh
        If IsNull(Me.ZT_FichProg.Value) Or Me.ZT_FichProg.Value = "" Then
            SqlOK = "SELECT NumFich, NomFich " & _
                    "FROM T_Fichier;"
        Else
            If Me.LST_NomProg.Visible Then
                SqlOK = "SELECT NumProg, NomProg " & _
                        "FROM T_Fichier" & _
                        "WHERE NomProg LIKE '" & Me.ZT_FichProgOK.Value & "*';"
            Else
                If Me.ZT_FichProg.Visible Then
                    SqlOK = "SELECT NumFich, NomFich " & _
                        "FROM T_Fichier " & _
                        "WHERE NomProg LIKE '" & Me.ZT_FichProgOK.Value & "*';"
                Else
                    If Me.LST_Fichier.Visible = True Then
                        SqlOK = "SELECT NumFich, NomFich " & _
                                "FROM T_Fichier " & _
                                "WHERE NomFich LIKE '" & Me.ZT_FichProgOK.Value & "*';"
                    End If
                End If
            End If
        End If
     
     
        Me.LST_ProgFichUtiliser.RowSourceType = "Table/Requête"
        Me.LST_ProgFichUtiliser.RowSource = SqlOK
        Me.LST_ProgFichUtiliser.Requery
        Me.LST_ProgFichUtiliser.Selected(0) = True
     
    End Sub
    pourriez vous m'aider a voir d'ou viens le problème
    merci d'avence pour votre aide
    règle numéro 12 : toujours s'offrir une entrée charismatique !

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Avant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.LST_ProgFichUtiliser.RowSource = SqlOK
    Mets un
    Tu verras alors la requete s'afficher dans la fenetre d'execution, teste la dans QBE pour voir si elle est valide.
    J'aime les gâteaux.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 214
    Points : 169
    Points
    169
    Par défaut
    il ne me sélectione pas la bonne requète ce coups ci, bizare, car avatn j'avais la requète, mais pas de résultat visible alors que par le test de la requète, elle fonctionnais parfaiment, maintenant non.
    De plus, en passant sur Me.ZT_Fich.Value, il me dit valeur = "" alors que dans la zone de texte, je vois bien le "C" que je viens d'écrire
    règle numéro 12 : toujours s'offrir une entrée charismatique !

  4. #4
    Membre éclairé Avatar de polo(31)
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 721
    Points : 770
    Points
    770
    Par défaut
    le fait de passer par l'événement keyup n'a t'il pas d'incidence ?

    je verai plus un change ou afterupdate

    dite moi si je me trompe si il faut il ni a pas de différence

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 214
    Points : 169
    Points
    169
    Par défaut
    j'ai essayer avec afterupdate, mais je n'avais pas encore parcourue la faq, et je ne connaissais pas le me.Refresh, je réessaye et vous tiens au courant, mais faites gaffe au arc électrique

    [EDIT]
    par cet évènement, sa ne passe pas dans le code automatiquement, il fatu sortir de la zone de liste et sa ne me plait pas, de plus c'est le même problème. je viens de voir un truc,

    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
    32
    33
    34
    35
    36
    37
    Private Sub ZT_FichProgOK_KeyUp(KeyCode As Integer, Shift As Integer)
    Dim SqlOK As String
    Dim SqlNotOK As String
    
        Me.Refresh
        If IsNull(Me.ZT_FichProgOK.Value) Or Me.ZT_FichProgOK.Value = "" Then
    'ici il y avais un problème de nom
            SqlOK = "SELECT NumFich, NomFich " & _
                    "FROM T_Fichier;"
        Else
            If Me.LST_NomProg.Visible Then
                SqlOK = "SELECT NumProg, NomProg " & _
                        "FROM T_Fichier" & _
                        "WHERE NomProg LIKE '" & Me.ZT_FichProgOK.Value & "*';"
            Else
                If Me.ZT_FichProg.Visible Then
                    SqlOK = "SELECT NumFich, NomFich " & _
                        "FROM T_Fichier " & _
                        "WHERE NomProg LIKE '" & Me.ZT_FichProgOK.Value & "*';"
                Else
                    If Me.LST_Fichier.Visible = True Then
                        SqlOK = "SELECT NumFich, NomFich " & _
                                "FROM T_Fichier " & _
                                "WHERE NomFich LIKE '" & Me.ZT_FichProgOK.Value & "*';"
                    End If
                End If
            End If
        End If
                            
                        
        Me.LST_ProgFichUtiliser.RowSourceType = "Table/Requête"
        Me.LST_ProgFichUtiliser.RowSource = SqlOK
        Me.Refresh
        Me.LST_ProgFichUtiliser.Requery
        Me.LST_ProgFichUtiliser.Selected(0) = True
        
    End Sub
    mais bien que la requète soit bonne, l'execution plante
    règle numéro 12 : toujours s'offrir une entrée charismatique !

  6. #6
    Membre éclairé Avatar de polo(31)
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 721
    Points : 770
    Points
    770
    Par défaut
    oh, la p'tit blagounette!!!

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 214
    Points : 169
    Points
    169
    Par défaut
    j'ai éditer mon post,
    et il m'arive de faire des p'tite blagounnette de temps a autre, faut bien détendre l'atmosphère
    règle numéro 12 : toujours s'offrir une entrée charismatique !

  8. #8
    Membre éclairé Avatar de polo(31)
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 721
    Points : 770
    Points
    770
    Par défaut
    ces sur que si on ne faisé que bosser on finirai tous décapité et pendu par les pieds, pour ton probléme là par contre mon niveau ne me permet pas de te répondre, sorry

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 214
    Points : 169
    Points
    169
    Par défaut
    merci quand même d'avoir essayer Polo(31)
    règle numéro 12 : toujours s'offrir une entrée charismatique !

  10. #10
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Utilise l'événement Change et .Text au lieu de .Value de
    la zone de saisie. + Requery
    Je ne comprends rien à Access...Mais je me soigne.
    Moteur de recherche
    DAO

  11. #11
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 214
    Points : 169
    Points
    169
    Par défaut
    merci Faw pour l'évènement c'est bien sa que je voulais, mais pour le Requery, je le fait déjà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Me.LST_ProgFichUtiliser.RowSourceType = "Table/Requête"
        Me.LST_ProgFichUtiliser.RowSource = SqlOK
        Me.LST_ProgFichUtiliser.Requery
        Me.LST_ProgFichUtiliser.Selected(0) = True
    et toujours pareil, la zone de liste ne change pas

    je crois avoir trouver d'ou sa viens, il y a 5 semaiine, quand commancer le développement de l'application, j'ai voulu minimiser le nombre de formulaire, et maintenant, quand je suis en mode completer, j'ai affaire à une liste, et en mode mise à jour à une autre, le truc c'est quelle sont supperposer pour que l'utilisateur ne se rende compte de rien, et je rempli la première au form load, pour mettre à jour la seconde, (qui est visible = false) dans ma procédure. le comble, c'est que maintenant ma première zone de liste, je n'en ai plus besoin....
    je vérifie que sa vient bien de là et si sa marche merci pour votre aide
    règle numéro 12 : toujours s'offrir une entrée charismatique !

  12. #12
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Si c'est une sorte de recherche intuitive que tu veux
    1- enlève le Me.refresh
    2- Me.LST_ProgFichUtiliser.Selected(0) = True c'est pourquoi dans ce contexte?
    3- Mets Me.ZT_FichProgOK.Text à la place de value
    4- +/- repositionnement du curseur à la fin de la zone de saisie.

    c'est ce que j'ai compris...
    Je ne comprends rien à Access...Mais je me soigne.
    Moteur de recherche
    DAO

  13. #13
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 214
    Points : 169
    Points
    169
    Par défaut
    Citation Envoyé par Faw
    Si c'est une sorte de recherche intuitive que tu veux
    1- enlève le Me.refresh
    2- Me.LST_ProgFichUtiliser.Selected(0) = True c'est pourquoi dans ce contexte?
    3- Mets Me.ZT_FichProgOK.Text à la place de value
    4- +/- repositionnement du curseur à la fin de la zone de saisie.

    c'est ce que j'ai compris...
    recherche intuitive, c'est sa

    1) j'ai vue dans la faq qu'il falait le mettre si on utilisait des controls du form actif. cf: http://access.developpez.com/faq/?page=zdl#RafrZList
    2)ici c'est pour que l'utilisateur puisse complèter la fin de sont mot, ou le transférer d'une liste à l'autre, car j'ai lstProgFichUtiliser et Lst_ProgFichNotUtiliser... mais si sa fait un Setfocus en même temps, c'est pas ce que je recherche
    3) c'est fait
    4)comment tu fais sa, si c dans la faq dit le simplement, je vais déjà regarder, et quand ce point la sera résolut, je n'oublis pas
    règle numéro 12 : toujours s'offrir une entrée charismatique !

  14. #14
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 214
    Points : 169
    Points
    169
    Par défaut
    ok, je n'est rien vue dans la FAQ, mais en enlevant le refresh sas ne sélectionne pas le texte de ma ZT donc plus besoin de repositionner le curseur merci à tous ceux qui m'ont aider
    règle numéro 12 : toujours s'offrir une entrée charismatique !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/08/2012, 03h31
  2. [VBA] menu dans Zone de liste
    Par le_niak dans le forum VBA Access
    Réponses: 2
    Dernier message: 17/09/2007, 12h30
  3. [VBA-E] 2003 - zone de liste déroulante
    Par jpo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/05/2007, 00h49
  4. Réponses: 3
    Dernier message: 26/04/2007, 13h49
  5. [VBA]Mise à jour zone de liste
    Par zebi42 dans le forum VBA Access
    Réponses: 4
    Dernier message: 27/03/2007, 14h34

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