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 :

erreur 2585 - action can't be carrier out while processing a form or report event


Sujet :

IHM

  1. #1
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    466
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 466
    Points : 550
    Points
    550
    Par défaut erreur 2585 - action can't be carrier out while processing a form or report event
    Bonjour,

    Je cherche à fermer mon formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.Close acForm, "100 FRM Main", acSaveNo
    mais access me donne l'erreur 2585 : This action can't be carried out while processing a form or report event.

    Je comprends que j'ai un process en cours qui est ouvert et qui m'empeche de fermer mon formulaire. Comment puis-je identifier ce qui est en cours ?
    Comment puis-je identifier ce qui m'empeche de fermer mon formulaire ?

    Merci.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 079
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 079
    Points : 24 721
    Points
    24 721
    Par défaut
    Bonjour,

    Avec la crise les entrailles de poulet pour faire de la divination coutent de plus en plus chers....

    Peux-tu poster l'intégralité du code de ce formulaire ?

    Cordialement,

  3. #3
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    466
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 466
    Points : 550
    Points
    550
    Par défaut
    Bonjour,

    Même en simplifiant beaucoup j'ai toujours le même message.
    J'ai un formulaire "100 FRM Main" avec un bouton. Ce bouton active ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    Private Sub btnProcess3_Enter()
    Dim strCurStep As String
    Dim strSQL As String
    Dim strQuery As String
    Dim strErrDesc As String
    Dim iNbrRecords As Integer
     
    'On Error GoTo errHandler       'déactivé pour voir exactement où ça coince.
     
     
    Me.lblCurStep.Visible = True
    strCurStep = "10/300 150 QAPP Add Current year"
    Me.lblCurStep.Caption = strCurStep
    DoEvents
    'CurrentDb.Execute "150 QAPP Add Current year"
     
     
     
    strCurStep = "14/300 Function City_CleanUp_100_TBL.  When the postal code is...."
    Me.lblCurStep.Caption = strCurStep
    DoEvents
    'Now that we have created the table with invc numbers, run VBA module to verify Postal codes and invoice seqence.
    Call City_CleanUp_100_TBL
    'When the postal code is .....
    'Verify ShipTo in table '100 TBL PF invoices from INVC_HDR'
     
     
    strCurStep = "15/300 Function ShipTo_Manual.  Verify if there are strange ShipTo addresses that need to be manually corrected."
    Me.lblCurStep.Caption = strCurStep
    DoEvents
    strCurStep = ShipTo_Manual
    DoEvents
    Select Case strCurStep
        Case "OK"
            'There is no strange ShipTo address missing city.  The process may continue
     
        Case "Addresses to be reviewed"
            'There are addresses to review.  I need to use the form 160
            'before opening the next form, to avoid confusion from user, I close the form '100 FRM Main' which is still open in modal mode
            DoCmd.Close acForm, "100 FRM Main", acSaveNo
            DoCmd.OpenForm "160 FRM Strange Address"
            Exit Sub
     
        Case Else
            'There is an error message.
            MsgBox "VBA function ShipTo_Manual() encountered an error." & vbCrLf & strCurStep, vbCritical, "Design error in data collection"
            Exit Sub
    End Select
     
     
    strCurStep = "16/300 Gaps_IN....."
    Me.lblCurStep.Caption = strCurStep
    DoEvents
    If Gaps_INVC_Nbr_Seq <> "Invoice correct" Then
        'we are missing some invoices
        strSQL = "INSERT INTO [002 TBL SysLog] (FunctionName, Screen, Msg1, Msg2, DateStamp ) " & _
                "SELECT 'btnProcess2_Click on Form 100 FRM Main' AS FunctionName, "
            strSQL = strSQL & "'" & strCurStep & "' AS Screen, "
            strSQL = strSQL & "'Review invoice nbr sequence in table 100 TBL' AS Msg1, "
            strSQL = strSQL & "'faulting invoice nbr available in immediate window (CTRL-G)' AS Msg2, Now() AS DateStamp;"
        Debug.Print strSQL
        CurrentDb.Execute strSQL
        MsgBox "VBA function Gaps_INVC_Nbr_Seq() found issues with the invoice sequence.  we are missing invoice numbers " & vbCrLf & "Design error in  data collection"
        DoCmd.Close acForm, "100 FRM Main"
        Exit Sub
    End If
     
     
    '.... many more queries....
     
     
     
    'Call export_Wx_input
    strCurStep = "32/300 A list of S.. has now been prepared and saved on your PC.  Please use...."
    Me.lblCurStep.Caption = strCurStep
     
    Forms![100 FRM Main]!btnProcess4.Enabled = True
    Forms![100 FRM Main]!btnProcess4.Visible = True
     
     
    Exit Sub
     
    errHandler:
    'Record as much debug details before close
    strErrDesc = Err.Description
    strErrDesc = Replace(strErrDesc, "'", "")
    strSQL = "INSERT INTO [002 TBL SysLog] (FunctionName, Screen, Msg1, Msg2, DateStamp ) " & _
            "SELECT 'btnProcess3_Click on Form 100 FRM Main' AS FunctionName, "
        strSQL = strSQL & "'" & strCurStep & "' AS Screen, "
        strSQL = strSQL & "'" & strErrDesc & "' AS Msg1, "
        strSQL = strSQL & "' ' AS Msg2, Now() AS DateStamp;"
    Debug.Print strSQL
    CurrentDb.Execute strSQL
    MsgBox Err.Description, vbCritical
     
     
    End Sub
    Si une adresse est incongrue, mon intention est de fermer le formulaire "100 FRM Main" et d'ouvrir le formulaire "160 FRM Strange Address".
    Je suis assez étonné car j'ai déjà ouvert et fermé plusieurs fois ce formulaire "100 FRM Main". Je ne trouve pas ce qui m'empeche cette fois-ci de fermer le formulaire.

    Merci pour votre aide.

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 079
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 079
    Points : 24 721
    Points
    24 721
    Par défaut
    Bonjour,

    Pas le bon évènement, il faut plutôt utiliser Sur clic.

    Pourquoi tu mets des doevents partout ? Tu devrais consulter l'aide sur cette commande. Tu verras que ça ne sert strictement à rien pour ces cas là.

    Visiblement il est encore en train de faire quelque chose lorsque tu déclenches la fermeture. La requête INSERT est exécutée lorsque il y a l'erreur ? ça vaudrait le coup de mettre 1 doevents juste après. Rajoute un dbfailonerror à ton Execute.

  5. #5
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    466
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 466
    Points : 550
    Points
    550
    Par défaut
    J'avoue avoir une certaine tendance à ajouter des doEvents quand je teste mes programmes et que je pense qu'une operation en bloque une autre. Généralement, je les retire quand je trouve la solution.

    Dans le cas present, j'ai trouvé une solution ici :
    http://www.developpez.net/forums/d13...-mode-continu/
    Cela fonctionne.

    En verifiant, je vois que j'ai fait BtnProcess1 et btnProcess2 qui fonctionnent sur clic. Je ne sais pas pourquoi mais lors la création de btnProcess3 et btnProcess4 je les ai mis sur Enter.

    J'ai changé btnProcess3 et je l'ai mis sur clic et cela fonctionne !
    C'est super, jai donc deux solutions à mon problème.

    Merci pour l'aide.

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

Discussions similaires

  1. erreurs de Action validate
    Par anaaa dans le forum Struts 1
    Réponses: 9
    Dernier message: 01/07/2007, 15h42
  2. Réponses: 18
    Dernier message: 07/02/2007, 15h33
  3. [Struts] Message d'erreur Validate Action Form
    Par cosmos38240 dans le forum Struts 1
    Réponses: 7
    Dernier message: 26/10/2005, 12h05
  4. Problème message d'erreur et action sur clic
    Par rangernoir dans le forum Access
    Réponses: 5
    Dernier message: 26/09/2005, 13h10
  5. [ Struts ] Erreur : l'action n'est jamais appelé
    Par romain3395 dans le forum Struts 1
    Réponses: 3
    Dernier message: 25/06/2004, 15h59

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