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 :

pbm fermeture formulaire


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut pbm fermeture formulaire
    bonjour,

    je veut fermer un formulaire (en cours) de vba, j'utilise donc le code

    DoCmd.Close acForm, Me.Name, acSaveNo
    mais ô malheur un message d'erreur :

    "impossible d'executer cette action pdt le traitement d'un evenement de formulaire ou d'état"

    or ca marche dans d'autre formulaire dc ca vient peut etre d'une inciherence de mon code:

    If txt_num <> "" And IsNull(txt_num) = False Then
    If txt_num = "modif" Or txt_num = "nc" Or txt_num = "labo" Then
    lbl_nlot.Visible = True
    txt_nlot.Visible = True
    txt_nlot.SetFocus
    txt_nlot.Locked = False
    txt_num.Locked = False
    If txt_num = "nc" Then lbl_mod.Caption = "nombre de nc par type de défaut"
    If txt_num = "labo" Then Txt_mod = "-1"
    'MsgBox ("bcle")
    Else
    txt_nlot = "0"
    Txt_mod = "0"
    flash_sortp txt_num, txt_nlot, Txt_mod
    'MsgBox ("procedure executée flash sur txt_num_lot") '
    DoCmd.Close acForm, Me.Name, acSaveNo 'la ca plante
    End If
    End If
    End Sub


    help please!

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    Bonjour,

    Pouvez-vous donner la ligne de déclaration de la fonction ou sub qui contient ce code ?

    Quelle est l'action du sub <flash_sortp> ?

    Merci,

    philippe

  3. #3
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 799
    Points
    799
    Par défaut
    Bonsoir,

    Je ne sais si cela a une incidence mais je compte 4 "if" pour 2 "end if"

  4. #4
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    salut à tous,
    Citation Envoyé par ft035580
    Bonsoir,

    Je ne sais si cela a une incidence mais je compte 4 "if" pour 2 "end if"
    effectivement mais le compte est quand même bon car
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Condition then instruction
    équivaut à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if Condition then
    instruction
    end if
    Je ne comprends rien à Access...Mais je me soigne.
    Moteur de recherche
    DAO

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    merci a vous de m'aider la procedure flash sortie presse est une procedure qui va actualiser les donnée dans mes tables en fonction des parametres saisis dans mon formulaire

    désolé pr la lenteur de ma réponse (24 du mans oblige)

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    Bonjour,

    Votre problème vient peut-être de là :

    Access n'attend pas obligatoirement la fin d'un traitement pour continuer à exécuter le code qui suit, et peut-être que vos mises à jour dans flash_sortp sont en cours d'éxecution lorsque Access tente d'éxecuter la ligne docmd.Close...

    Si c'est ça, je vois 2 solutions :

    - Insérer DoEvents après l'appel de flash_sortp (non testé)
    (voir http://access.developpez.com/faq/?pa...og#AttFinTrait)

    - Transformer votre sub flash_sortp en une fonction qui retourne une valeur Vrai/Faux en fin de traitement

    puis écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    if flash_sortp(txt_num, txt_nlot, Txt_mod) = true then
       DoCmd.Close acForm, Me.Name, acSaveNo 'la ca plante
    endif
    ce qui oblige Access à attendre le résultat de flash_sortp avant d'éxecuter le code suivant

    Je me trompe peut-être, que l'on ne se gène pas de me le dire !

    Philippe

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    salut,

    si on considere que le probleme est effectivement la je devrai réussir a fermer ce formulaire a partir de la procédure or ca ne marche pas non plus, je vais quand meme essayé votre solution....

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    coucou!


    j'ai modifié la procédure elle renvoie un booleen lorsqu'elle est terminée,
    j'ai ajouter cela dans le code de ma feuille:

    flash_sortp param1, f 'appel avec le booleen f
    attente:
    if f = false then goto attente
    DoCmd.Close acForm, Me.Name, acSaveNo ' plante encore

    ca vient donc pas de ce probleme auquel j'avais pas pensé!

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    Bonjour,



    flash_sortp param1, f 'appel avec le booleen f
    attente:
    if f = false then goto attente
    DoCmd.Close acForm, Me.Name, acSaveNo ' plante encore

    ce n'est pas le principe auquel je pensais...

    Pouvez-vous mettre votre base zippée en pièce jointe pour pouvoir vous répondre plus efficacement.

    Philippe

  10. #10
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 16
    Points : 10
    Points
    10
    Par défaut solution
    Bonjour

    pour ceux qui aurai le meme probleme, il semblerai que ce soit le type d'evenement qui pose probleme! Ca marche sur l'evenement afterUpqate!

    merci a phillipe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 02/05/2006, 14h24
  2. [C# 2005] Fermeture formulaire principal
    Par benji17c dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/03/2006, 15h32
  3. [VB.NET]hide,close,end. fermeture formulaires
    Par mAAL dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/03/2006, 10h03
  4. Réponses: 3
    Dernier message: 15/12/2005, 09h44
  5. Boucle attente fermeture formulaire ????
    Par smicky77 dans le forum Access
    Réponses: 1
    Dernier message: 08/09/2005, 20h30

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