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 :

Eviter le scintillement lors du requery d'un chart


Sujet :

IHM

  1. #1
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 886
    Points : 4 767
    Points
    4 767
    Par défaut Eviter le scintillement lors du requery d'un chart
    Après mult essais, je n'arrive pas à trouver pourquoi dans des conditions similaires un graphe (MsGraph.Chart.8) en temps réel scintille ou non quand on l'actualise par la méthode .Requery
    Je cherche bien sur à éviter ce désagréable effet de "refresh".

    Dans un formulaire, lors de Chart1.requery j'ai ce phénomène dont je n'arrive pas à me débarrasser.
    Or dans une autre base mais dans un formulaire tout a fait similaire, le tracé apparait bien continu à l'oeil.

    Les pptés du chart sont les mêmes (notamment :
    • autoactiver : Manuel
    • activé: Non
    • verrouilé : Oui
    • action OLE : 0
    • la requête source est identique
    l.

    Pour info : ce graphe est dessiné en temps réel. A chaque tic du Timer on met des données dans une table et la requete source du graphe vient lire ces données.

    Merci à ceux qui me liront et plus ...
    "Always look at the bright side of life." Monty Python.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 604
    Points : 34 279
    Points
    34 279
    Par défaut
    salut,
    et en passant par un screenupdate puis screenrefresh ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 886
    Points : 4 767
    Points
    4 767
    Par défaut
    JPcheck, merci de tes conseils mais :

    1 je suis en Acc2000 et screen.update ou screen.refresh ne sont pas reconnues

    2 le scintillement n'apparait que dans le cadre de mon graphe : il se produit au rythme des .requery mais celui-ci est nécessaire puisque je dois relancer la requête-source pour obtenir les dernières données. Par conséquent ce n'est pas sur le form entier.

    3 dans des formulaires très semblables, le graphe est tracé en continu (sans effet de "refresh")

    ...
    "Always look at the bright side of life." Monty Python.

  4. #4
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 040
    Points
    16 040
    Par défaut
    Bonsoir Micniv,

    Avec un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Désactivation de l'écran
    Application.Echo False
    avant l'affichage et idem avec True après, c'est mieux ?

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  5. #5
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 886
    Points : 4 767
    Points
    4 767
    Par défaut
    Domi2 : merci mais aucune amélioration

    A savoir que travaille sur le code déclenché à chaque boucle du timer.
    J'ai réduit maintenant ce code à sa plus simple expression :
    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
     
         m_numLoop = m_numLoop + 1	 'Numero de boucle
     
     
         l_indent = fReadSensor(...)	 'Lecture mesure1
        l_indent = m_indentDebut - l_indent
     
         l_temp = fReadSensor(...)		 'Lecture mesure2
     
     
        l_duree = Timer - m_TimerDebut     'Durée
     
        strSql = "INSERT into t_IndentRec ( noIndent, numLoop, sngTime, sngIndent, sngTemp) " _
               & " values (" & m_noIndent & "," & m_numLoop & " , '" & l_duree & "','" _
               & l_indent & "','" & l_temp & "' );"
     
        'Debug.Print strSql
        DoCmd.RunSQL strSql, 0
     
      me.xChart1.Requery
    Dans ce code, je n'utilise que des variables locales ou variables modules, aucune valeur de controle qui pourrait favoriser un refresh
    et pourtant j'ai toujours cet effet de "refresh" sur le graphe (et sur le graphe seulement : c'est donc bien provoqué lors du Requery )

    "Always look at the bright side of life." Monty Python.

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/03/2008, 09h56
  2. Eviter le scintillement lors du rafraîchissement
    Par netsabes dans le forum Delphi
    Réponses: 9
    Dernier message: 11/05/2007, 16h26
  3. Eviter le scintillement lors de manip css avec javascript...
    Par MasterOfChakhaL dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/04/2006, 20h11
  4. comment eviter ora-00942 lors d'un drop table
    Par sqlakf76 dans le forum Oracle
    Réponses: 22
    Dernier message: 11/10/2005, 15h48
  5. Réponses: 2
    Dernier message: 21/06/2004, 15h55

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