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 :

Créez un formulaire d'attente pour les longs traitements [Tutoriel]


Sujet :

IHM

  1. #21
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    salut Arkham46

    je viens de lire ton tutoriel sur la création d'un formulaire d'attente.
    Si j'ai bien compris la procéduure decrite est reserve uniquement en cas de boucle.
    Comment faitre si mon formulaire ne contient pas de boucle mais uniquement des données ( graphique dynamique qui indique un nbre de produits tous les 10 minutes).
    Puis je appliquer ton programme ?

  2. #22
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Bonjour,

    L’intérêt de ce formulaire est le traitement de données dans ton cas c'est un soucis de timer. Pourquoi mettre un form d'attente ?

    @+

  3. #23
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Mon formulaire est parametré avec une date début et une date fin.
    A l'ouverture du formulaire, une boite de dialogue apparait pour inscrire une date début et une date fin.
    Lorsque les dates ont été mentionnées, un sablier apparait puis disparait laissant croire à l'utilisateur que le programme à buguer.
    Je souhaitais donc inserer une petite application ( type formulaire d'attente ) pour avertir l'utilisateur que le programme est en cours et qu'il patiente.
    Si tu as une autre idée que le formulaire d'attente, je suis preneur..

  4. #24
    Candidat au Club
    Inscrit en
    Juillet 2013
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    Félicitation , grâce à vous j'ai enfin réussi à animer mon code pendant le traitement car il faut avouer que 8 minutes à attendre devant un ecran ou rien ne se passe sans savoir ou es ce qu'on en est, c'est long ^^.

    Encore merci

  5. #25
    Nouveau Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    J'ai réussi a faire la barre de progression est c'est nickel
    Par contre, je ne comprend pas comment faire en sorte que la barre d'avancement augmente en fonction de la durée de ma reqûete

    Voilà j'ai un bouton qui me lance une macro (avec plusieurs requêtes pour obtenir un fichier final) donc sur les propriétés du boutons (sur clic = lancement de la macro)
    ou dois je placer le code ? (si je mets sur souris relâchée ): la barre de progression avance mais se termine bien avant que ma macro soit terminée.

    Pouvez-vous m'aider ?

    Je vous remercie

    Cordialement.

  6. #26
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    30
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 30
    Points : 29
    Points
    29
    Par défaut
    Bonjour;

    Cela fait, un bail que je n'ai pas touché access, aujourd'hui j'ai eu besoin d'y intervenir. Avec cet excellent Sujet ou 'Tutorial'. J'ai pu m'y remettre.
    Merci à l'auteur.

    J'en profite pour poser un question à l'auteur, même si, ce n'est pas le lieu.
    Que suggerer vous pour l'utilisation du formulaire d'attente, dans le cas de plusieurs traitements qui s'enchainent les uns derièrres les autres ?
    Attention ces traitements ne sont pas dans une boucle, mais chacun utilise sa 'propre boucle'.

    zdz16, Cordialement.

  7. #27
    Membre à l'essai
    Homme Profil pro
    Salarié
    Inscrit en
    Mars 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Mars 2013
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    Bonjour et merci pour ce formulaire d'attente qui m'a grandement rendu service pendant des années. Encore bravo.
    mais voilà, depuis le passage d'Access 2003 à Access 2010, le formulaire d'attente reste affiché. le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' Fermeture du formulaire d'attente
    Set oProgress = Nothing
    ne semble plus fonctionner.
    As-tu un petit tuyau pour moi ?
    merci encore

  8. #28
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 622
    Points : 156
    Points
    156
    Par défaut
    Bonjour,
    Je tombe aujourd'hui sur cet ancien tuto... qui correspond exactement à ce que je cherchais à faire...
    J'ai un traitement long d'importation de données... Et mon access se met au bout de 10s en "ne répond pas"... pourtant il travaille toujours...
    Pour faire simple je suis parti sur la 1ère partie du tuto et j'ai téléchargé ce fichier https://arkham46.developpez.com/arti...mattente01.zip

    Toutefois je remarque que dans cet exemple, si j'enlève toute la partie d'affichage du formulaire d'attente, la boucle normale dure 2-3 secondes... alors qu'avec le formulaire d'attente cela dure 30 secondes !!!
    Le coupable serait le deuxième 'DoEvents' figurant dans la boucle pour éviter que le programme fige... sans lui c'est rapide... mais Access "ne répond plus" au bout de 10s si on rallonge le nombre d'itérations.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [...]
        ' Evite que l'application ne soit figée
        DoEvents
    Next
    [...]

    Du coup dans cet exemple, effectivement le programme ne se fige plus... mais l'utilisation de la progressbar multiplie le temps de traitement par 10 !

  9. #29
    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 524
    Points
    14 524
    Par défaut
    Bonjour,

    Le doEvents n'est pas nécessaire à chaque itération, on peut le lancer moins souvent.
    Soit en le mettant dans le if avec le mod 500.
    Soit en le mettant dans son propre if avec un modulo différent.
    Si l'utilisateur tente de déplacer le formulaire, ce sera juste un peu saccadé...

    Cependant je n'ai pas souvenir de temps si dégradé lors de mes tests.

  10. #30
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 622
    Points : 156
    Points
    156
    Par défaut
    Citation Envoyé par Arkham46 Voir le message
    Bonjour,

    Le doEvents n'est pas nécessaire à chaque itération, on peut le lancer moins souvent.
    Soit en le mettant dans le if avec le mod 500.
    Soit en le mettant dans son propre if avec un modulo différent.
    Si l'utilisateur tente de déplacer le formulaire, ce sera juste un peu saccadé...

    Cependant je n'ai pas souvenir de temps si dégradé lors de mes tests.

    Soit en le mettant dans le if avec le mod 500.
    --> j'ai fait ça : dans ta 1ère version... ça change tout !!! Performances x10 !!!
    Merci

    Nom : 2019-10-17_10-09-42.gif
Affichages : 187
Taille : 581,2 Ko

  11. #31
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2012
    Messages : 24
    Points : 31
    Points
    31
    Par défaut Barre de progression
    Bonjour damsmut,

    J'ai utilisé aussi cette barre de progression qui est très bien. Mais cette barre n'est pas l'image des fichiers importés, j'ai moi aussi importé ou exporté des données et j'avais mis comme critère d'avancement de la barre de progression une variable comptant le nombre de fichiers ou lignes à importer, puis l'utilisateur se rend mieux compte de ce qui se passe. Après, je ne sais pas si dans ton cas cela est possible.

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/10/2013, 00h05
  2. Afficher une fenetre d'attente pendant un long traitement (Swing)
    Par JavaBienOuMal dans le forum EDT/SwingWorker
    Réponses: 5
    Dernier message: 15/06/2007, 14h13
  3. Utiliser les threads pour les traitements long
    Par rach375 dans le forum Websphere
    Réponses: 3
    Dernier message: 14/11/2006, 12h08
  4. [PHP-JS] PHP et JavaScript pour les formulaires
    Par Ylias dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 26/07/2006, 22h47
  5. Norme JavaScript pour les formulaire
    Par rdams dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/09/2005, 14h14

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