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 :

[Formulaire] Durée de chargement de formulaire


Sujet :

IHM

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 5
    Points : 1
    Points
    1
    Par défaut [Formulaire] Durée de chargement de formulaire
    Bonjour,

    J'ai un problème d'optimisation de durée de chargement sur un formulaire
    contenant de nombreuses listes liées à des requêtes Access.
    Exemple : -j'ouvre la form avec des données
    -je ferme la form
    -je réouvre avec les mêmes données
    Lors du premier chargement (6s) la durée est deux fois moins longue que lors
    du second chargement (12s). La différence de durée vient de l'initialisation
    du formulaire avant de rentrer dans le form_load().
    Je ferme bien ma fenêtre avec un DoCmd.Close
    "Et la troisième ouverture?" vous allez me dire : on retombe sur la durée du premier chargement.

    Si vous avez des idées je suis preneur.
    Merci d'avance.

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    I semble donc qu'il faille chercher du côté des traitements à l'ouverture de ton form, voire aussi à la fermeture.

    Tu as quoi comme traitement à ces endroits?

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Le délai dont je parle est entre le DoCmd.Openform et le tout début du Form_load().
    Il s'agit donc de la durée de l'initialisation de la fenêtre et de tous ses objets qui est variable du simple au double pour les mêmes données.

    La fermeture est simple : Docmd.Close

  4. #4
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Tu n'as pas de code dans Form_Open?

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Non, rien dans Form_Open.
    Je cherche du coté du RecordSource du formulaire

  6. #6
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Lors du premier chargement (6s) la durée est deux fois moins longue que lors
    du second chargement (12s). La différence de durée vient de l'initialisation
    du formulaire avant de rentrer dans le form_load().
    Je ferme bien ma fenêtre avec un DoCmd.Close
    "Et la troisième ouverture?" vous allez me dire : on retombe sur la durée du premier chargement.
    Tu as toujours ces mêmes temps de réponse? une fois sur deux?

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Cela s'enchaine comme une horloge :
    6s puis 12s puis 6s puis 12s ....

  8. #8
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Hummm...

    Tu as quoi dans ton form, des listes déroulantes alimentées par code, des sous formulaires... ?

    Quand tu lances une fois le form, puis tu quittes la base, et enfin tu relances ... tu as 6s ou 12s?

  9. #9
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    bjr,

    un truc à essayer :
    tu vides, en mode création, toutes les propriétés rowsource de tes listes et tu les remplis seulement dans l'événement Form_Load
    idem pour la source du formulaire

    j'ai lu que ça pouvais améliorer les performances, mais je n'ai pas testé moî-même

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Ne trouvant pas d'explication logique au phénomène j'ai reconstruit intégralement ma fenêtre.
    Le RecordSource du formulaire était une grosse requête sous forme "Select ...".
    J'ai créé un objet Requête de Access avec la même formulation et associé cette requête au Recordsource du formulaire.
    Ainsi la durée est tombée à 6s quelle que soit l'ouverture.

    J'attribue ce bug aux mystères d'Access. Des fois il faut recommencer de zéro.

    Mais je retiens ta solution Arkham46, on pourra peut être gagner quelques millisecondes.

    Merci

  11. #11
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    En enregistrant ton SQL dans une requête, tu évites la compilation de la requête à chaque démarrage. Mais bon, 6s pour compiler la requête ... en effet, elle doit être complexe

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/08/2007, 17h38
  2. problème chargement données formulaire
    Par kumo dans le forum IHM
    Réponses: 2
    Dernier message: 24/05/2007, 22h27
  3. Réponses: 11
    Dernier message: 02/05/2007, 08h56
  4. chargement des formulaires sous onglets
    Par stagolee dans le forum IHM
    Réponses: 2
    Dernier message: 23/02/2007, 15h32
  5. [Access 2003]Problème de chargement de formulaire?
    Par steeves5 dans le forum Access
    Réponses: 10
    Dernier message: 06/06/2006, 14h35

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