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 :

Access fenetre attendant le resultat d'une autre


Sujet :

Access

  1. #1
    Membre régulier Avatar de Pe04
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 111
    Points : 71
    Points
    71
    Par défaut Access fenetre attendant le resultat d'une autre
    Bonjour,

    j'aimerais pourvoir créer 2 formulaires, le premier scrute les informations d'une table, en fonction d'un champ particulier, je voudrais ouvrir un autre formulaire, qui bloque l exécution du premier, en attendant la fin de l'exécution du deuxième

    Est ce possible ?

  2. #2
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    Si je comprend bien tu veux un form qui indique la progression d'éxécution du traitement qui se fait en arrière plan ?

    Si c'est ça, la difficulté est d'estimer le temps de traitement de tes données.
    Ce que je fais: j'inclus dans ma boucle de traitement l'incrémentation d'une variable (de 0 à 100)

    dans le form modal je place un progressBar dont la valeur est cette valeur (de 0 à 100%)

    puis à chaque incrément de la variable dans le traitement, je met à jour le progressBar du formulaire.
    A 100% un bouton 'fermer' devient visible, sur son clic ça ferme le form d'attente et rend visible le 1er form.

    Voilà, j'espère que cela aura pu t'aider

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 223
    Points : 240
    Points
    240
    Par défaut
    Citation Envoyé par Pe04
    Bonjour,

    j'aimerais pourvoir créer 2 formulaires, le premier scrute les informations d'une table, en fonction d'un champ particulier, je voudrais ouvrir un autre formulaire, qui bloque l exécution du premier, en attendant la fin de l'exécution du deuxième

    Est ce possible ?
    Peux-tu être plus clair
    (Utbm, pas loin de mon boulot)

  4. #4
    Membre régulier Avatar de Pe04
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 111
    Points : 71
    Points
    71
    Par défaut
    Et bien, j aimerai que la première fentre sois bloquer en attendant un retour de la deuxième... du genre une message box qui attend la reponse oui, sauf que la ce n est pas oui que je veut renvoyer.

    (Je suis en stage à Alstom)

  5. #5
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    mon post ne répondait pas à ton besoin ?

  6. #6
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 154
    Points : 124
    Points
    124
    Par défaut
    Salutations à tous,

    Oui c'est possible avec un peu de code VBA.

    J'ai remarqué que même si on dit au 2ème formulaire d'être modale, le code du 1er formulaire continue de s'executer.
    Par conséquent, le 1er formulaire n'attend pas la fermeture du 2ème.
    De plus "DoCmd.OpenForm" ne retourne pas de valeur.

    La solution serait:

    1) crée un drapeau (un boolean) dans le code de form1

    2) de lever le drapeau avant d'ouvrir le form2 et de rentrer dans une boucle en attente que le drapeau redescende. (note pour ne pas prendre tout le temp cpu mettre un delai.

    3) quand l'événement Form_Close() de form2 arrive quand on ferme form2 descendre le drapeau de form1 à travers la propriété parent

    CAMIC

  7. #7
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 154
    Points : 124
    Points
    124
    Par défaut
    Resalut,

    j'ai dit une grosse erreur concernant le point 3, on ne peut pas utiliser parent car Form2 n'est pas un sous formulaire de Form1, par contre il y a d'autre moyen:

    - utiliser Forms pour pouvoir accéder à Form1

    ou

    - utiliser une variable public dans un module (variable globale) qui sera visible par Form1 et Form2 et les autres d'ailleur.

    Mille excuses

    CAMIC

  8. #8
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 154
    Points : 124
    Points
    124
    Par défaut
    ReReSalut,

    !! ATTENTION !!
    Si vous essayez ma proposition, la fenêtre qui doit contenir le formulaire 2 s'ouvre bien, mais il n'y a pas de contenu qui s'affiche, et le curseur continue d'afficher le sablier, il faut faire un CTRL-BREAK pour stopper le code, car quand MS ACCESS ouvre un nouveau formulaire, il ne crée pas un nouveau thread, donc le formulaire 1 garde la main.

    Désolé.

    Question: peut ton créer un thread pour ouvrir le 2ème formulaire, afin d'utiliser mon code ????

    CAMIC

  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,

    ça se fait tout seul

    utilisez acDialog dans le docmd.openform
    (je sais plus quel paramètre mais c'est facile à trouver)

  10. #10
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 154
    Points : 124
    Points
    124
    Par défaut
    Merci beaucoup Arkham46,

    Pour moi ça marche bien, mais uniquement en utilisant acDialog comme 6ème argument de openform.
    Contrairement à ce que dit l'aide de openform, acDialog ne met pas seulement les propriétés Modal et PopUp du formulaire sur Yes, mais il bloque aussi le code qui à appeler openform. Pour preuve, si on mais acWindowNormal ou rien à la place de acDialog et qu'on règle les propriétés Modal et PopUp sur oui, cela ne bloque pas le code.
    Je constate que les noms des propriétés ne reflètes pas le fonctionnement réel du formulaire mais de plus, l'aide en ligne est franchement null.

    Merci encore pour l'info, car introuvable dans l'aide, vive les forums.

    CAMIC

Discussions similaires

  1. Réponses: 11
    Dernier message: 03/03/2009, 01h03
  2. SQL sur le resultat d'une autre requete SQL
    Par skillipo dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/12/2007, 16h45
  3. Réponses: 6
    Dernier message: 02/05/2007, 12h47
  4. déplacer une fenetre en meme temps qu'une autre.
    Par Flow_75 dans le forum C++Builder
    Réponses: 1
    Dernier message: 03/03/2007, 12h15
  5. requete dependante du resultat d'une autre
    Par captain_kirk dans le forum Langage SQL
    Réponses: 2
    Dernier message: 15/08/2006, 21h27

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