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 :

Affichage aléatoire des données dans le formulaire [AC-2016]


Sujet :

Access

  1. #1
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 049
    Points
    1 049
    Par défaut Affichage aléatoire des données dans le formulaire
    Bonjour,
    J'ai développé une petite application mettant en oeuvre un formulaire dans lequel j'affiche les données des enregistrements de la table sous jacente.

    Nom : 2023-12-13 17_57_30-Window.png
Affichages : 122
Taille : 12,2 Ko

    Cependant, je rencontre un problème d'affichage des données au chargement du formulaire, ainsi que lorsque je passe d'un enregistrement au suivant ou précédent. Access affiche les données dans les champs du formulaire de manière aléatoire (voir la capture suivante) avec pour certains champs les données qui n'apparaissent pas.

    Nom : 2023-12-13 18_15_57-Window.png
Affichages : 113
Taille : 9,6 Ko
    Nom : 2023-12-13 18_15_24-Window.png
Affichages : 116
Taille : 10,6 Ko

    Auriez-vous une idée du problème ou une solution ?
    .

  2. #2
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 049
    Points
    1 049
    Par défaut
    Il convient de préciser que les données sont stockées dans une base de données MySQL et que le formulaire est ouvert à partir d'un client Access 2016. Le problème se situe au niveau de l'affichage des données dans les champs lors de changements d'enregistrements.

    A l'affichage d'un enregistrement comme ci-dessous, des champs ne sont pas valorisés, à l'instar de IdCompteur par exemple. Cependant, lorsque je clique sur le bouton du ComboBox, j'ai bien la donnée qui apparait dans le champ ainsi que dans la liste, ce qui prouve bien que la donnée est remontée du formulaire.

    Nom : 2023-12-14 22_19_02-Fiche Releve.png
Affichages : 101
Taille : 7,6 Ko

    Nom : 2023-12-14 22_20_32-Fiche Releve.png
Affichages : 100
Taille : 9,6 Ko

    Comment corriger ce comportement d'Access ?

    Je me vois mal délivrer l'application en l'état.

    Merci d'avance
    .

  3. #3
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 049
    Points
    1 049
    Par défaut
    J'ai essaye avec la fonction VBA DoEvents sans réel succès probant.

    Je désespère à moitié.
    .

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 015
    Points : 24 550
    Points
    24 550
    Par défaut
    Bonjour,

    Doevents ne résoudra pas ton problème.

    C'est assez inhabituel ce comportement. Il faut faire des tests sur ton application pour avoir un diag.

    Cordialement.

  5. #5
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 049
    Points
    1 049
    Par défaut
    Ci-joint une vidéo de capture d'écrans qui montre ce qui se passe durant les changements d'enregistrements et leur affichage dans le formulaire : https://youtube.com/shorts/-EXOXiX-C...wm96686ltJyw-D

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 015
    Points : 24 550
    Points
    24 550
    Par défaut
    Bonjour,

    Apparemment tu n'as pas configuré correctement ta zone de liste.

    Vérifie Nombre de colonne, Colonne liée et LargeurS colonneS.

    Ce sont les 3 piliers de la Zone de liste.

    Cordialement,

  7. #7
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 049
    Points
    1 049
    Par défaut
    Bonjour loufab,

    Vérifie Nombre de colonne, Colonne liée et LargeurS colonneS
    Chaque ComboBox a 2 colonnes : Id, Libelle
    La colonne liée est la première
    Largeur des colonnes:
    - Id : 0cm
    - Libelle : 8cm

    Peut mieux faire ?
    .

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 015
    Points : 24 550
    Points
    24 550
    Par défaut
    La colonne liée est la première
    C'est quoi la valeur ?

  9. #9
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 049
    Points
    1 049
    Par défaut
    C'est quoi la valeur ?
    la Valeur de la colonne liée Id : UUID
    Type de la colonne Id : CHAR(36)

    Exemple :

    Nom : 2023-12-21 06_05_09-Window.png
Affichages : 64
Taille : 14,5 Ko

    .

  10. #10
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 049
    Points
    1 049
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        Application.Echo False ' Desactiver le rafraichissement de l'écran (figer l'ecran)
     
        cboIdMode_Populate
        cboIdLieu_Populate
        cboIdCompteur_Populate
        cboIdNavire_Populate
     
        Application.Echo True ' Reactiver le rafraichissement de l'ecran
    Avec Application.Echo pas plus de changement de l'affichage aléatoire dans laquelle certains champs ne sont pas valorisés.
    Auriez-vous des idées pourquoi ?
    .

  11. #11
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 015
    Points : 24 550
    Points
    24 550
    Par défaut
    la Valeur de la colonne liée Id : UUID
    Ce n'est pas ce que je t'ai demandé. Je veux savoir ce que tu as mis dans la propriété, pas la colonne que tu as lié.

    Echo :
    Si tu comprends l'objet de la commande, pourquoi tu l'utilise ? Espères-tu un miracle ? Access comme VBA ne fait pas de miracle, il fait juste ce que tu lui dis de faire.

    N'ayant qu'une vue partielle de ton appli, le mieux serait de mettre un point d'arrêt et de suivre ce qui se passe pas à pas.

  12. #12
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 760
    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 760
    Points : 14 795
    Points
    14 795
    Par défaut
    bonjour loufab et star,
    juste pour être bien certain que le problème vient des listes déroulantes, qu'est-ce que cela donne si on les enlève, cela ramène t-il bien les données d 'origine ?

  13. #13
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 049
    Points
    1 049
    Par défaut
    Bonjour tee_grandbois, loufab,

    cela ramène t-il bien les données d 'origine
    Les enregistrements sont bien remontés dans le formulaire, c'est juste que les listes déroulantes affichent leurs contenus un coup sur deux si je puis dire comme on peut le constater dans le short suivant :


    Je veux savoir ce que tu as mis dans la propriété, pas la colonne que tu as lié
    Je ne vois pas de quelle propriété tu fais référence

    .

  14. #14
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 760
    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 760
    Points : 14 795
    Points
    14 795
    Par défaut
    est-ce qu'il s'agit d'une table MySQL connectée via ADO, faisant suite à cette discussion ?
    - ou alors est-elle liée ou est-ce une copie en table locale ?
    - les tables qui servent de support aux listes déroulantes sont-elles locales ou viennent-elles aussi de MySQL ?
    - que contient la propriété "Contenu" de chaque liste, ou est-ce ce type de code qui les alimentent: cboIdMode_Populate dans ce cas que contiennent-ils ?

    je sais, cela fait beaucoup de questions mais il nous faudrait vraiment plus d'informations car avec des tables Access mêmes en base distante ou attachées, cette anomalie n'existe pas, à mon sens

  15. #15
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 049
    Points
    1 049
    Par défaut
    est-ce qu'il s'agit d'une table MySQL connectée via ADO, faisant suite à cette discussion ?
    - ou alors est-elle liée ou est-ce une copie en table locale ?
    - les tables qui servent de support aux listes déroulantes sont-elles locales ou viennent-elles aussi de MySQL ?
    - que contient la propriété "Contenu" de chaque liste, ou est-ce ce type de code qui les alimentent: cboIdMode_Populate dans ce cas que contiennent-ils ?
    Ce sont des tables MySQL liées sous Access.
    Les ComboBox sont bound à des tables MySQL par des requêtes in-line.

    Ci-dessous en exemple, les propriétés de la liste IdMode :
    Nom : 2023-12-28 08_48_56-JCVBase.png
Affichages : 38
Taille : 10,6 Ko

    Ci-dessous la procédure cboIdMode_Populate chargée d'alimenter les listes cboIdGenre, cboIdLieu et cboIdNavire par programme suivant le cas du Mode saisi par l'utilisateur :
    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
     
    Private Sub cboIdMode_Populate()
     
        Debug.Print "cboIdMode_Populate ForFicheReleve"
     
        If Me.cboIdMode.Value = "3e6ddce6-7b8a-11ee-9523-00090faa0001" Then ' Releves hebdomadaires
            Me.cboIdGenre.RowSource = "SELECT Id, Libelle FROM Genres WHERE Libelle <> 'Releve' ORDER BY Libelle;"
            Me.cboIdLieu.RowSource = "SELECT DISTINCT Li.Id, Li.Libelle FROM Lieux Li INNER JOIN Compteurs Co ON Co.IdLieu = Li.Id WHERE Co.IdNavire Is Null And Co.IdConsignataire Is Null ORDER BY Li.Libelle;"
            Me.cboIdNavire.RowSource = "SELECT Id, Libelle FROM Navires ORDER BY Libelle;"
        ElseIf Me.cboIdMode.Value = "3e6ddfee-7b8a-11ee-9523-00090faa0001" Then ' Releves mensuels
            Me.cboIdGenre.RowSource = "SELECT Id, Libelle FROM Genres WHERE Libelle = 'Releve' ORDER BY Libelle;"
            Me.cboIdLieu.RowSource = "SELECT DISTINCT Li.Id, Li.Libelle FROM Lieux Li INNER JOIN Compteurs Co ON Co.IdLieu = Li.Id WHERE Co.IdNavire Is Not Null And Co.IdConsignataire Is Null ORDER BY Li.Libelle;"
        ElseIf Me.cboIdMode.Value = "3e6de130-7b8a-11ee-9523-00090faa0001" Then ' Releves trimestriels
            Me.cboIdGenre.RowSource = "SELECT Id, Libelle FROM Genres WHERE Libelle = 'Releve' ORDER BY Libelle;"
            Me.cboIdLieu.RowSource = "SELECT DISTINCT Li.Id, Li.Libelle FROM Lieux Li INNER JOIN Compteurs Co ON Co.IdLieu = Li.Id WHERE Co.IdNavire Is Null And Co.IdConsignataire Is Not Null ORDER BY Li.Libelle;"
        End If
     
    End Sub
    .

  16. #16
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 760
    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 760
    Points : 14 795
    Points
    14 795
    Par défaut
    dans quel évènement sont exécutés les chargements des combos ?

  17. #17
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 049
    Points
    1 049
    Par défaut
    dans quel évènement sont exécutés les chargements des combos ?
    Private Sub Form_Current()
    .

  18. #18
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 760
    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 760
    Points : 14 795
    Points
    14 795
    Par défaut
    Private Sub Form_Current()
    c'est le bon choix ...

    Ci-dessous la procédure cboIdMode_Populate chargée d'alimenter les listes cboIdGenre, cboIdLieu et cboIdNavire
    sans connaitre le contenu des autres procédures, on remarque dans celle-ci que cboIdNavire n'est pas chargé dans tous les ElseIf ... est-ce volontaire ?

  19. #19
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 049
    Points
    1 049
    Par défaut
    cboIdNavire n'est pas chargé dans tous les ElseIf... est-ce volontaire ?
    En effet, le fonctionnel de l'application le prévoit
    .

  20. #20
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 760
    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 760
    Points : 14 795
    Points
    14 795
    Par défaut
    Citation Envoyé par star Voir le message
    En effet, le fonctionnel de l'application le prévoit
    .
    OK ... donc, selon toi, cela ne vient pas l'application

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [MySQL] additionner des donnes dans un formulaire
    Par kylimath0907 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 08/02/2011, 05h02
  2. [MySQL] a propos le test des donnés dans un formulaires
    Par senda dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/02/2009, 09h07
  3. C# - Affichage des données dans un formulaire
    Par paradeofphp dans le forum Windows Forms
    Réponses: 6
    Dernier message: 25/07/2006, 19h23
  4. limite de l'affichage des donnés dans une Bdgrid
    Par helmis dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/07/2006, 09h15
  5. affichage des enreg. dans sous-formulaire
    Par OBIWAN64 dans le forum Access
    Réponses: 5
    Dernier message: 27/04/2006, 08h10

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