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

IHM Discussion :

Liste modifiable qui ne peux pas garder une valeur


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 166
    Points : 81
    Points
    81
    Par défaut Liste modifiable qui ne peux pas garder une valeur
    Bonjour,

    J'ai une liste modifiable qui contient les lignes d'une table.

    Or lorsque je clique sur le bouton , les lignes apparaissent bien.

    Cependant, lorsque je clique sur un des champs de ma liste déroulante, la zone de texte devient vide, alors qu'elle devrait recevoir le champ.

    Au début ça marchait nickel et maintenant ça ne fonctionne plus, et j'ignore pourquoi.

    D'où vient le problème?

    Merci.

  2. #2
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : avril 2007
    Messages : 1 316
    Points : 2 524
    Points
    2 524
    Par défaut
    Salut,

    Quand tu parle de la zone de texte, tu parle d'une zone de texte indépendante (en plus de la zone modifiable) ou la partie où le texte s'inscrit dans la liste modifiable ?

    Premier cas :
    As-tu modifié des propriétés de tes contrôles ?
    Ou fais une autre action ?

    Deuxième cas:
    Montre nous ton code

    J'espère pouvoir t'aider si tu m'éclaire un peu plus...
    ~ Lola ~

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 166
    Points : 81
    Points
    81
    Par défaut
    Bonjour,

    Quand j'ai parlé de la zone de texte, je voulais parler de la zone de texte de ma liste modifiable

    Par ailleurs, jai remarqué quelque chose qui produit ce phénomène :

    En fait, mon formulaire permet de rechercher des fichiers dans une base de données en spécifiant certaines informations. Les champs de saisies (dont les listes modifiables) se situent dans l'entête du formulaire, et les résultats de la requête dans le Détail.
    Par ailleurs, lorque je clique sur mon bouton, le RecordSource du formulaire prend pour valeur ma requête (lorsqu'on saisit des champs, ça fait la requête qui est dynamique).

    C'est lorque je fais la recherche et qui me renvoie aucune ligne que les champs sont "vides", du moins ils apparraissent vides mais ils ne le sont pas, car en faisant un debug.print je vois que les champs des listes modifiables ne sont pas changés... De plus, il est impossible de changer le champ de la liste modifiable : si j'entre une valeur ou si j'en choisis de ma liste déroulante, cela semble toujours vide mais ça ne l'est pas...

    Je poste le code comme vous me l'avez demandé (celui d'appel de la requête et d'affichage des résultats) :

    Code vb : 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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    Private Sub Commande6_Click()
     
        'on créé une requête dynamique qui contient toutes les informations à propos des fichiers
        rqt = "SELECT * FROM FICHIER, DOSSIER, etre_situe, PROJET, se_situer, ARCHIVE"
        rqt = rqt + " WHERE FICHIER.code_dossier = DOSSIER.code_dossier" 'liason fichier/dossier
        rqt = rqt + " AND DOSSIER.code_dossier=etre_situe.code_dossier" 'liaison entre dossier
        rqt = rqt + " AND etre_situe.code_projet=PROJET.code_projet"    'et projet.
        rqt = rqt + " AND DOSSIER.code_dossier = se_situer.code_dossier" 'liaison entre dossier
        rqt = rqt + " AND se_situer.code_archive = ARCHIVE.code_archive" 'et archive.
     
        'les prochains si forment la requête dynamique
            If nom <> "" Then 'on voit si le nom est null ou pas
                rqt = rqt + " AND nom_fichier like '*" & nom & "*'"
            End If
     
            If ext <> "" Then 'idem pour l'extension etc...
                rqt = rqt + " AND nom_fichier like '*." & ext & "'"
            End If
     
            If nom_dossier <> "" Then 'le dossier
                rqt = rqt + " AND repertoire_fichier like '*" & nom_dossier & "*'"
            End If
     
            If nom_clt <> "" Then   'le nom du client
                rqt = rqt + " AND client_projet like '*" & nom_clt & "*'"
            End If
     
            If nom_projet <> "" Then 'le nom du projet
                rqt = rqt + " AND nom_projet like '*" & nom_projet & "*'"
            End If
     
            If nom_archive <> "" Then 'le nom de l'archive
                rqt = rqt + " AND nom_archive like '*" & nom_archive & "*'"
            End If
     
            If date_creation2 <> "" Then 'avant cette date de création
                rqt = rqt + " AND datecreation_fichier < #" & date_creation2 & "#"
            End If
     
            If date_creation1 <> "" Then 'après cette date de création
                rqt = rqt + " AND datecreation_fichier > #" & date_creation1 & "#"
            End If
     
            If date_modif2 <> "" Then 'avant cette date de modification
                rqt = rqt + " AND datemodif_fichier < #" & date_modif2 & "#"
            End If
     
            If date_modif1 <> "" Then 'après cette date de modification
                rqt = rqt + " AND datemodif_fichier > #" & date_modif1 & "#"
            End If
     
            If taille_fichier1.Value <> "" Then 'la taille 1 du fichier
                Select Case type_taille_fichier.Column(0)
                    Case Is = "kilo-octets"
                        Me.taille_fichier1.Value = Me.taille_fichier1.Value * 1024
                    Case Is = "mega-octets"
                        Me.taille_fichier1.Value = Me.taille_fichier1.Value * 1024 ^ 2
                    Case Is = "giga-octets"
                        Me.taille_fichier1.Value = Me.taille_fichier1.Value * 1024 ^ 3
                End Select
     
                rqt = rqt + " AND taille_fichier > " & taille_fichier1
            End If
     
            If taille_fichier2.Value <> "" Then 'la taille 2 du fichier
                Select Case type_taille_fichier.Column(0)
                    Case Is = "kilo-octets"
                        Me.taille_fichier2.Value = Me.taille_fichier2.Value * 1024
                    Case Is = "mega-octets"
                        Me.taille_fichier2.Value = Me.taille_fichier2.Value * 1024 ^ 2
                    Case Is = "giga-octets"
                        Me.taille_fichier2.Value = Me.taille_fichier2.Value * 1024 ^ 3
                End Select
                rqt = rqt + " AND taille_fichier < " & taille_fichier2
            End If
     
        'on regarde au niveau du tri
            Select Case Me.Cadre83.Value
                Case Is = 1
                    rqt = rqt + " ORDER BY nom_fichier"
                Case Is = 2
                    rqt = rqt + " ORDER BY nom_fichier desc"
            End Select
     
     
        'on "ferme" la requête en ajoutant un point virgule
        rqt = rqt & ";"
        Debug.Print rqt
        Me.RecordSource = rqt
     
        Dim rs As DAO.Recordset                     '\
        Set rs = Me.RecordsetClone                  'On compte le nombre de résultats, on doit passer par un recordset et aller jusqu'au dernier enregistrement sinon on a un résultat faux
     
        If rs.RecordCount > 0 Then
            rs.MoveLast                                 '
            Me.nombre_lignes.Caption = rs.RecordCount & " fichier(s) trouvé(s)."
        Else
            Me.nombre_lignes.Caption = "0 fichier trouvé."
        End If
     
        'les prochaines lignes remettent la taille des fichiers identique à leur saisie (et non en octets)
            If taille_fichier1.Value <> "" Then
                Select Case type_taille_fichier.Column(0)
                    Case Is = "kilo-octets"
                        Me.taille_fichier1.Value = Me.taille_fichier1.Value / 1024
                    Case Is = "mega-octets"
                        Me.taille_fichier1.Value = Me.taille_fichier1.Value / 1024 ^ 2
                    Case Is = "giga-octets"
                        Me.taille_fichier1.Value = Me.taille_fichier1.Value / 1024 ^ 3
                End Select
            End If
     
            If taille_fichier2.Value <> "" Then
                Select Case type_taille_fichier.Column(0)
                    Case Is = "kilo-octets"
                        Me.taille_fichier2.Value = Me.taille_fichier2.Value / 1024
                    Case Is = "mega-octets"
                        Me.taille_fichier2.Value = Me.taille_fichier2.Value / 1024 ^ 2
                    Case Is = "giga-octets"
                        Me.taille_fichier2.Value = Me.taille_fichier2.Value / 1024 ^ 3
                End Select
            End If
            'actualisation des champs "taille_fichierX"
            taille_fichier1.Requery
            taille_fichier2.Requery
    End Sub

    Merci

  4. #4
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : avril 2007
    Messages : 1 316
    Points : 2 524
    Points
    2 524
    Par défaut
    Il faudrait que tu mette les ME. devant tes noms de contrôles (c'est bien de ca dont il s'agit ?)

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Me.nom <> "" Then 'on voit si le nom est null ou pas
         rqt = rqt + " AND nom_fichier like '*" & nom & "*'"
    End If
    Essaye déjà en faisant ca... je regarde ton code de plus près en attendant.
    ~ Lola ~

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 166
    Points : 81
    Points
    81
    Par défaut
    Bonjour,

    J'ai essayé avec des Me. devant les contrôles mais ça ne change rien, j'ai aussi essayé avec des ....value, mais idem.

    J'ai pensé à ce que les résultats de la requête influençait mes recordsource des mes listes modifiables...
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Me.RecordSource = rqt
     
        Dim rs As DAO.Recordset         '\
        Set rs = Me.RecordsetClone      'On compte le nombre de résultats, on doit passer par un recordset et aller jusqu'au dernier enregistrement sinon on a un résultat faux
     
        If rs.RecordCount > 0 Then
            rs.MoveLast                                 '
            Me.nombre_lignes.Caption = rs.RecordCount & " fichier(s) trouvé(s)."
        Else
            Me.nombre_lignes.Caption = "0 fichier trouvé."
        End If
    Je pense que c'est dans cette partie de code que ça bloque, mais après faut savoir ce qui ne va pas...

    Voici une image si ça peut aider à résoudre mon problème



    Merci.

  6. #6
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : avril 2007
    Messages : 1 316
    Points : 2 524
    Points
    2 524
    Par défaut
    Et ca bloque à quel niveau ?
    Toutes les listes modifiables ou une seule ?
    Les zones de textes aussi ?

    Est ce que tu peux sélectionner une option ou alors juste ca ne te la marque pas ?

    Est ce que dans les propriétés tout est bon ?
    --> est ce que ton contrôle est vérouillé (il ne doit pas l'être)
    ~ Lola ~

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 166
    Points : 81
    Points
    81
    Par défaut
    En fait toutes mes listes modifiables sont atteintes, elles contiennent toutes une valeur vide (du moins en affichage mais pas en contenu) si j'ai 0 ligne en résultats, par contre les zones de texte fonctionnent très bien.

    J'ai regardé dans les propriétés, et seuls les résultats de la requête étaient vérrouillés, et en les dévérouillant ça ne change rien.

    Au niveau des options, je peux en choisir une dans la liste mais elle ne s'affiche pas dans le champs, alors qu'elle devrait. c'est identique si je rentre du texte.

    Voici le contenu de la liste modifiable du nom du client, c'est le résultats d'une requête ou recherche_clients est elle-même une requête :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT [recherche_clts].[client_projet] FROM recherche_clts;

    Merci

  8. #8
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : avril 2007
    Messages : 1 316
    Points : 2 524
    Points
    2 524
    Par défaut
    Je ne pense pas que ton problème vient de la requête pour afficher les valeurs car apparement les valeurs s'affichent bien.

    Peux-tu me préciser les noms de toutes tes listes modifiables ?
    ~ Lola ~

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 166
    Points : 81
    Points
    81
    Par défaut
    Mes listes modifiables s'appellent nom_clt, nom_archive, et nom_projet

    En effet ça vient pas des valeurs des listes modifiables car j'ai essayé avec des valeurs au lieu d'un résultat de requête, et ça a marché très bien.

    C'est très étrange comme problème, je pense que c'est un bug d'Access parce que là je ne vois pas d'om ça peut venir...

    Merci

  10. #10
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : avril 2007
    Messages : 1 316
    Points : 2 524
    Points
    2 524
    Par défaut
    Tu as ca :
    If nom_clt <> "" Then 'le nom du client
    rqt = rqt + " AND client_projet like '*" & nom_clt & "*'"
    End If

    If nom_projet <> "" Then 'le nom du projet
    rqt = rqt + " AND nom_projet like '*" & nom_projet & "*'"
    End If

    If nom_archive <> "" Then 'le nom de l'archive
    rqt = rqt + " AND nom_archive like '*" & nom_archive & "*'"
    End If
    Essaye une de faire plutôt ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    If nom_clt <> "" Then   'le nom du client
         rqt = rqt + " AND client_projet = " & nom_clt & " "
    End If
     
    If nom_projet <> "" Then 'le nom du projet
         rqt = rqt + " AND nom_projet = " & nom_projet & " "
    End If
     
    If nom_archive <> "" Then 'le nom de l'archive
         rqt = rqt + " AND nom_archive = " & nom_archive & " "
    End If
    Moi pour certain contrôle ca me faisait ce problème essaye avec cette méthode.
    ~ Lola ~

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 166
    Points : 81
    Points
    81
    Par défaut
    J'ai essayé de ta manière mais ça me demande de rentrer une valeur pour la variable qui porte le nom que j'ai choisis dans la liste déroulante.
    J'ai essayé en mettant des guillemets autour mais ça fait toujours pareil...

    Je ne vois pas comment faire...

    Merci

  12. #12
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : avril 2007
    Messages : 1 316
    Points : 2 524
    Points
    2 524
    Par défaut
    C'est peut être au niveau de la vérification de la valeur:
    Regarde dans la FAQ ou dans le forum si il y en a déjà par rapport à la vérification de liste modifiable (ca me dit qqchose) je regarde de mon côté...
    ~ Lola ~

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 166
    Points : 81
    Points
    81
    Par défaut
    J'ai regardé vite fait mais je n'ai pas trouvé... Je pense avoir trouvé une meilleure solution (qui ne résoud pas le problème mais bon) : je vais transformer mes zones de listes modifiables en zones de listes fixes qui contiendront les résultats de requêtes, et à coté ou en dessous, je vais ajouter un champ où l'utilisateur pourra lui même saisir ce qu'il souhaite, comme ça l'utilisateur aura deux choix possible (à l'aide de boutons radio) : choisir dans une liste ou saisir.

    Bref j'ai essayé avec le client et ça marche même quand il y a 0 lignes, donc ça devrait aller...

  14. #14
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : avril 2007
    Messages : 1 316
    Points : 2 524
    Points
    2 524
    Par défaut
    Tu as regardé sinon le tutoriel de recherche multicritère de cafeine ?
    Il est assez complet, moi je m'en suis servie pour mes formulaires, si tu veux comparer ton code au sien dans le détail, mais moi je ne vois pas d'erreur dans ton code...
    Sinon essaye ton autre méthode et si tu as besoin d'aide : je suis là !!!
    ~ Lola ~

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 166
    Points : 81
    Points
    81
    Par défaut
    J'ai regardé vite fait le tutoriel de Cafeine mais j'ai pas eu trop le temps de le regarder. Par contre avec ma méthode ça marche nickel, donc je continue la suite

    Merci

  16. #16
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : avril 2007
    Messages : 1 316
    Points : 2 524
    Points
    2 524
    Par défaut
    Si tu as fini et que tout marche alors bravo et surtout n'oublie pas le tag
    ~ Lola ~

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 166
    Points : 81
    Points
    81
    Par défaut
    Oui ça marche même si j'ai contourné le problème...

  18. #18
    Membre du Club
    Inscrit en
    mai 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : mai 2006
    Messages : 70
    Points : 49
    Points
    49
    Par défaut
    Je vois que vous manipulez des listes déroulantes, personne ne peut m'aider ?

    http://www.developpez.net/forums/sho...d.php?t=362875

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

Discussions similaires

  1. [AC-2013] Signets qui ne reonvoient pas tous une valeur
    Par Doken dans le forum VBA Access
    Réponses: 1
    Dernier message: 02/09/2013, 08h47
  2. Problème de session qui ne veut pas garder sa valeur
    Par pierrot10 dans le forum Langage
    Réponses: 10
    Dernier message: 23/06/2011, 13h35
  3. elements qui n'est pas dans une liste
    Par KEnder dans le forum Général Python
    Réponses: 2
    Dernier message: 16/05/2008, 02h52
  4. [RegEx] Lister des patterns qui ne sont pas dans une liste
    Par guidav dans le forum Langage
    Réponses: 2
    Dernier message: 28/12/2007, 19h14
  5. Réponses: 10
    Dernier message: 15/12/2006, 08h34

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