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 :

fonction et sub lors d'un meme evenement


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 100
    Points : 49
    Points
    49
    Par défaut fonction et sub lors d'un meme evenement
    bonjour,
    je voudrais savoir si lors d'un meme evenement sur un formulaire (evenement Avant MAJ) je peux cumuler les codes suivants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Form_BeforeUpdate(Cancel As Integer)
    Me![DERNIERE MODIFICATION] = Now
     
     
      If MsgBox("VOULEZ-VOUS CONFIRMER LA MODIFICATION ?", vbQuestion + vbYesNo, "CONFIRMATION") = vbNo Then
        Me.Undo
        Cancel = True
      End If
    End Sub
    et la fonction suivant
    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
    Option Compare Database
     
    '------------------------------------------------------------
    ' ajout_des_act_modifiees
    '
    '------------------------------------------------------------
    Function ajout_des_act_modifiees()
    On Error GoTo ajout_des_act_modifiees_Err
    DoCmd.SetWarnings False
        ' ajout d'un compteur unique qui sera utilise dans les tables de modif act et cablage
        DoCmd.OpenQuery "Ajout num pour Historique", acViewNormal, acEdit
        DoCmd.OpenQuery "Ajout des ACT mofifies", acViewNormal, acAdd
        DoCmd.OpenQuery "ajout Cablage Modifie", acViewNormal, acEdit
        DoCmd.OpenQuery "Historique mise a jour", acViewNormal, acEdit
     
     
    ajout_des_act_modifiees_Exit:
        Exit Function
     
    ajout_des_act_modifiees_Err:
        MsgBox Error$
        Resume ajout_des_act_modifiees_Exit
    DoCmd.SetWarnings True
    End Function
    cette fonction est actuellement appelee sur l'evenement (si modification) du formulaire. cette fonction est issue d'une conversion de macro qui elle meme execute 4 requetes.
    j'ai essaye de copier l'un pour le mettre avec l'autre et inverssement mais ca ne marche pas.

    L'objectif etant 3 choses en fait.
    lors d'une modification d'enrregistrement:
    - ouvrir un MsgBox pour proposer de confirmer ou annuler la modif
    - inscrire la date dans le champ [DERNIERE MODIFICATION]
    - executer les requettes.

    actuellement les choses sont separees et pas au top.
    pour la premiere partie (MsgBox) declenche sur l'evenement "Avant MAJ" ca marche tres bien.
    pour la fonction declenchee sur l'evenement "Si modification" c'est moins fiable puisque si je change le moindre caractere d'un champ et qu'il y a une actualisation avec une liste deroulante par exemple, la fonction va s'executer sans meme avoir valide cette modif avec le MsgBox.
    pouvez vous m'aider ?
    merci

  2. #2
    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
    Salut,

    je te conseil d'appeler ta fonction sur la réponse du message est oui et de mettre le même code sur l'événement si modification.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 100
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par Dolphy35
    Salut,

    je te conseil d'appeler ta fonction sur la réponse du message est oui et de mettre le même code sur l'événement si modification.
    je ne suis pas tres bon en code et je suis debutant en la matiere.
    je ne sais pas comment faire ce que tu proposes. peux tu m'aider ?
    merci

  4. #4
    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
    re,

    tu reprend ton code existant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    If MsgBox("VOULEZ-VOUS CONFIRMER LA MODIFICATION ?", vbQuestion + vbYesNo, "CONFIRMATION") = vbYes Then 
     
        Call ajout_des_act_modifiees
     
    else
     
        Me.Undo 
        Cancel = True 
     
    End If
    En gros si la réponse à ton message est oui tu exécute ta fonction sinon tu annule la modification.

    tu mets ce code sur les événements BeforeUpdate et Form_Dirty

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 100
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par Dolphy35
    re,

    tu reprend ton code existant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    If MsgBox("VOULEZ-VOUS CONFIRMER LA MODIFICATION ?", vbQuestion + vbYesNo, "CONFIRMATION") = vbYes Then 
     
        Call ajout_des_act_modifiees
     
    else
     
        Me.Undo 
        Cancel = True 
     
    End If
    En gros si la réponse à ton message est oui tu exécute ta fonction sinon tu annule la modification.

    tu mets ce code sur les événements BeforeUpdate et Form_Dirty
    merci pour ta reactivite.
    je viens de faire ce que tu m'as dit et ca marche super.
    j'ai mis le code modifie sur Avant MAJ mais je ne sais pas ou trouver Form_Dirty dans mon formulaire.

  6. #6
    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
    re,

    c'est le nom de l'événement "Si modification".

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 100
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par Dolphy35
    re,

    c'est le nom de l'événement "Si modification".
    tout marche super maintenant et je te remerci bcp pour ton aide.
    Vraiment c'est un super forum.

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

Discussions similaires

  1. [XL-2003] ma fonction retourne #VALEUR! lors de la suppression d'une ligne
    Par oracle7556 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 18/12/2009, 18h17
  2. Réponses: 2
    Dernier message: 15/10/2009, 12h02
  3. Réponses: 6
    Dernier message: 25/06/2007, 13h41
  4. Réponses: 5
    Dernier message: 09/11/2006, 21h27
  5. Bouton alternant 2 fonctions sur le meme evenement onClick
    Par Rocca dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/01/2006, 09h16

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