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 :

Actualisation d'un champ lorsque n'importe lequel des champs d'un formulaire est modifié [AC-2013]


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 113
    Points : 124
    Points
    124
    Par défaut Actualisation d'un champ lorsque n'importe lequel des champs d'un formulaire est modifié
    Bonjour à tous,

    Je travaille actuellement sur un formulaire qui contient une grande quantité de champs de saisie (il s'agit de la gestion d'un budget - Le budget est constitué de plus de 40 postes différents).

    J'ai un champ total où je souhaiterais afficher la somme de tous les champs à chaque fois que l'un d'eux est modifié. Il y a bien sûr la solution de lancer le calcul sur l'événement AfterUpdate de chaque champ de saisie mais cela me semble lourd et peu efficace.
    Je cherche un événement au niveau du formulaire qui me permet d'exécuter une procédure dès lors qu'un champ est modifié mais je n'ai pas trouvé (Activation, Après Maj, Après insertion, Si modification, Modification de la sélection, Modification de données...).

    Y a-t-il une solution pour faire cela sans avoir à créer autant d'actions qu'il y a de champs potentiellement modifiables ?

    Merci par avance pour votre aide.

    El

  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 006
    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 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    Tu n'es pas obligé de mettre systématiquement un EVENT dans la propriété AfterUpdate... tu peux aussi y mettre un fonction publique VBA d'un module standard.

    Comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CalculerForm(Formulaires!monformulaire)
    Et dans la fonction VBA (un exemple bidon) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public function CalculerForm(frm as form)
     
    dim total as currency
     
    total = frm.montantPoste1 + frm.montantPoste2
     
    ...
     
    frm.total = total
    end function
    L'intérêt de ce type d'approche c'est de faire une sélection de tous contrôles concernés par l'action, et de coller dans la propriété Après MAJ l'appel à la fonction.

    En 1 action (coller) tu as placé la même fonction de calcul.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 113
    Points : 124
    Points
    124
    Par défaut
    Merci Loufab,
    J'ai effectivement créé une fonction qui fait la somme de tous les champs commençant par "Txt_C" (je norme le nom des champs dans mes formulaires) et j'ai effectivement commencé à affecter cette fonction sur l'événement mise à jour de chacun des contrôles. Mais d'un point de vue opérationnel cela me semblait un peu lourd.

    Dois-je en conclure qu'il n'y a pas d'événement au niveau du formulaire qui permet de déclencher une action dès qu'un contrôle est modifié, quel qu'il soit ? Cela se passe forcément au niveau du contrôle ?

    el

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

Discussions similaires

  1. [AC-2010] Propiété des champs contact Outlook / import des contacts OL dans ACCESS
    Par franckb74 dans le forum VBA Access
    Réponses: 5
    Dernier message: 17/09/2013, 19h58
  2. Réponses: 11
    Dernier message: 07/05/2010, 20h22
  3. Réponses: 3
    Dernier message: 29/04/2010, 13h54
  4. Réponses: 3
    Dernier message: 29/05/2008, 13h09
  5. Choix des champs pour une importation XLS
    Par menguygw dans le forum VBA Access
    Réponses: 1
    Dernier message: 14/06/2007, 13h09

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