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 :

Lenteur de réaction d'un formulaire


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Commerçant
    Inscrit en
    Mai 2014
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Commerçant

    Informations forums :
    Inscription : Mai 2014
    Messages : 60
    Points : 21
    Points
    21
    Par défaut Lenteur de réaction d'un formulaire
    Bonjour à tous,

    ma question est motivée par la lenteur de réaction d'un formulaire. Il affiche un par un les enregistrements d'une table, presque 20 sous-formulaires qui eux-mêmes affichent les résultats d'autant de requêtes.

    Résultat, pour ouvrir le formulaire, et pour passer d'un enregistrement à un autre, il s'écoule beaucoup de temps. Je suppose que si je pouvais changer d'enregistrement sans exécuter les requêtes, cela résoudrait le problème de lenteur.

    Est-ce exact, et si oui, comment faire?

    Merci par avance

    Pascal

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut
    Bonjour.

    presque 20 sous-formulaires qui eux-mêmes affichent les résultats d'autant de requêtes.
    Wahoo … 20 sous-formulaires, ça fait du sous-formulaires.

    Tu as peut-être un problème de conception.

    Je suppose que si je pouvais changer d'enregistrement sans exécuter les requêtes, cela résoudrait le problème de lenteur.
    Oui mais c'est tout l'intérêt du sous-formulaire, de se mettre à jour en fonction des changements du formulaire principal.

    Est-ce que tes sous-formulaires sont tous visibles en même temps ou sont-ils par exemple dans un contrôle onglet avec un sous-formulaire par page ?

    Aussi est-ce que pris individuellement (en dehors du formulaire principal) tes sous-formulaires s'affichent rapidement ?

    Y -a-t'il des totaux d'enregistrements dans tes sous-formulaires ? J'ai eu un cas ou je faisais un total des ventes annuelles au niveau du sous-formulaire plutôt que de la source et cela ralentissait considérablement l'affichage.

    A+

  3. #3
    Membre à l'essai
    Homme Profil pro
    Commerçant
    Inscrit en
    Mai 2014
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Commerçant

    Informations forums :
    Inscription : Mai 2014
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    bonjour,

    merci pour ta réponse, et pardon pour le retard de la mienne.

    Il y a probablement des problèmes de conception dans la base, vu que je l'ai créée sans beaucoup de savoir.

    Effectivement j'ai besoin que les sous-formulaires se mettent à jour, mais pas forcément quand je fais défiler les enregistrements du formulaire principal. Une mise à jour sur commande quand je visualise l'enregistrement qui m'intéresse me suffirait.

    Tous les sous-formulaires sont visibles en même temps. La plupart affichent les résultats de différentes requêtes. Je vais les tester un par un pour voir si certains sont plus lents comme tu le suggères.

    Trois sous-formulaires affichent des totaux, je vais les supprimer pour voir si cela accélère la mise à jour.

    Je te ferai part des résultats de mes essais.

    Merci encore.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut
    Bonjour.

    Ce que je ferai alors c'est enlever les infos pères-fils et toi-même appliquer des filtres par code.
    Si tu fais de la saisie dans les sous-formulaires, il faut jouer avec les valeurs par défaut et c'est un poil pénible à programmer mais c'est possible.

    Une autre idée est de supprimer par code la source des sous-formulaires et de la rétablir ensuite mais le problème est de détecter le moment où tu passes en mode "défilement rapide". Un bouton spécial pour cela, peut-être ?

    A+

  5. #5
    Membre à l'essai
    Homme Profil pro
    Commerçant
    Inscrit en
    Mai 2014
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Commerçant

    Informations forums :
    Inscription : Mai 2014
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    merci pour ces suggestions. J'ai tendance à penser que la deuxième me demanderait moins de travail tout en répondant parfaitement à mon souhait. Un bouton activant la mise à jour ou l'affichage des sous-formulaire serait efficace. L'évènement "changer d'enregistrement pourrait désactiver les sous-formulaires pour recommencer un défilement rapide dans le formulaire principal.

    Puis-je te solliciter pour m'indiquer une syntaxe de commande capable de faire ça?

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut
    Bonjour.

    L'évènement "changer d'enregistrement"
    Autant que je sache cet événement n'existe pas.

    Tu as "sur Activation" mais il se déclenche à l'arrivée sur l'enregistrement, pas le départ de l'enregistrement.

    Le code pour supprimer la source est très simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.TonSousForm.Form.RecordSource=""
    ça coupe simplement le lien vers la source, ce que tu as utilisé comme source (Table ou requête) existe toujours donc pas de perte.

    Pour la rétablir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.TonSousForm.Form.RecordSource="NomTaSource"
    Pendant le défilement le sous-formulaires sera blanc.

    A+

  7. #7
    Membre à l'essai
    Homme Profil pro
    Commerçant
    Inscrit en
    Mai 2014
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Commerçant

    Informations forums :
    Inscription : Mai 2014
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Le but est 100% atteint, je te remercie.
    J'ai indiqué pour tous les sous-formulaires un SourceObject=""
    Tous les sous-formulaires sont blancs à l'ouverture du formulaire

    J'ai créé deux boutons, un pour donner à chaque formulaire la source désirée, et un autre pour remettre tout à blanc

    Quand le formulaire principal est "à blanc" le défilement est instantané

    Très efficace. Encore merci

Discussions similaires

  1. [AC-2010] Origine de la lenteur de chargement d'un formulaire ?
    Par juju05 dans le forum VBA Access
    Réponses: 1
    Dernier message: 19/06/2013, 15h05
  2. Lenteur à la validation d'un formulaire sous Firefox 3
    Par TSnarfK dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 27/10/2008, 16h06
  3. Réponses: 4
    Dernier message: 19/09/2006, 14h49
  4. Réponses: 5
    Dernier message: 12/06/2006, 12h06
  5. Lenteur de chargement d'un formulaire
    Par Rcanada dans le forum Access
    Réponses: 2
    Dernier message: 19/05/2006, 08h45

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