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

Macros Access Discussion :

Comment calculer automatiquement la somme d'une table vers une autre table


Sujet :

Macros Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Comment calculer automatiquement la somme d'une table vers une autre table
    Bonjour,

    Pour mon boulot, je cherche à me faire une base de donnée de gestion de projet. J'utilise ACCESS à défaut de savoir faire autrement et surtout pour pouvoir par la suite générer des docs WORD et des tableaux EXCEL avec les données de la base.

    J'ai déjà créé 3 tables avec pour relation:
    -1 PROJET pour plusieurs LOT
    -1 LOT pour plusieurs TACHE

    Table : PROJET
    - Id_Projet (clé primaire)
    - NomProjet
    - ChargeProjet

    Table : LOT
    - Id_Lot (clé primaire)
    - Ref_Projet (clé étrangère de PROJET)
    - NomLot
    - ChargeLot

    Table : TACHE
    - Id_Tache
    - Ref_Lot (clé étrangère de LOT)
    - NomTache
    - ChargeTache


    Je remplis mes tables en mode "feuille de données". Mais ce qui me gène c'est de devoir calculer manuellement la charge total par projet (PROJET.ChargeProjet) et par lot (LOT.ChargeLot). J'aimerai que la somme totale des taches soit calculée automatiquement par lot puis que la somme totale des lots soit calculée automatiquement par projet.

    Q1: Est ce possible avec ACCESS ?
    Q2: j'ai essayé avec des requêtes, mais j'obtiens seulement une nouvelle vue. je n'arrive pas à remplir ma table automatiquement. Si c'est possible, comment faire avec les requêtes ?
    Q3 : j'ai essayé avec les événements (après MAJ, Apres insertion, ....). cela ne fait rien. si c'est possible, Comment faire avec les événements ?
    Q4: Dois-je obligatoirement passer par un formulaire ? car le mode "feuille de données" me suffit.


    Je précise que c'est la première fois que je fais des bases de données.... Si quelqu'un peut m'aider, cela serait super sympa.

    Je vous remercie d'avance. Bon WE

    Jux

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Si vous voulez afficher les sommes en même temps que la saisie, vous n'aurez pas d'autre choix que de faire appel aux formulaires. Une Somme se traduit pas un regroupement, et une requête de regroupement n'est pas updatable.

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 453
    Points : 43 106
    Points
    43 106
    Par défaut sommes
    Les sommes n'ont rien à faire dans 1 table. Elles seront effectuées par des requêtes ( pouvant se présenter dans Acces par une zone de texte contenant par exemple =Somme([nom_champ])

    As-tu déjà vu grosso-modo comment fonctionne 1 soft de gestion de projet ?

    tu vois de façon chronologique le déroulement des taches, notamment leur chevauchement et leurs interactions.

    Si c'est ton but, tu peux prendre pour exemple les bases agenda que tu trouvera en faisant une recherche sur le forum, la base utilise des carrés de couleur" pour représenter l'occupation de plages horaires. En gérant 1 couleur=1 tache tu peux avoir 1 base de départ.

    Sinon pour répondre à tes questions, le mode feuille de données est adapté pour la saisie au kilomètre. Un formulaire avec 1 présentation évolué peut être affiché en mode feuille de données.

    Microsoft project ne serait pas adapté à tes besoins ? Pratique quand on a autre chose à faire que de réinventer la roue, Par rapport à Access, tout est prévu pour faire de la gestion de projet, par contre peut être moins ergonomique qu'une base Access fait sur mesure, mais qui demandera du boulot. Dans les 2 cas, vu que c'est du Microsoft, pas de soucis pour reprendre dans word, excel etc ...
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Je vous remercie Messieurs pour votre aide.

    MS projet est une usine à gaz pour ce que je veux faire. L'aspect planning ne m'intéresse pas. Je souhaite juste avoir une base de données pour faire du suivi de lots et d'activités (pourcentage d'avancement).

    Q5: Donc pour ce que je veux faire. il faut que je fasse des formulaires avec des requetes qui calculent la somme ? Mais ces sommes seront-elle enregistrable en base?
    Q6 : A quoi sert les macros sur les événements si l'on ne peut pas modifier les tables avec ?

  5. #5
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 453
    Points : 43 106
    Points
    43 106
    Par défaut projet
    Je suis d'accord avec toi sur le fait que ms-project soit 1 usine à gaz, mais au même titre que Word pour juste faire 1 courrier.

    Pour ton histoire de somme : 2 solutions :

    Soit la donnée est calculée par une requête ou 1 champ calcul et recalculée à chaque affichage, soit tu stocke ce calcul dans une table ( avec requête insert select imbriquée ) si le résultat ne peut être reproduit pour cause de modif des données et si il est nécessaire de les garder. Il ne faut pas stocker 1 donnée qui peut être recalculée.

    Tu peux tout à fait modifier les données des tables à partir de code VBA. Les macros génèrent du code VBA mais beaucoup plus limité, limité au point que je ne m'en sers quasiment pas, mais si tu ne maitrises pas, les macros sont 1 début.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  6. #6
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut Somme avec datamacro
    Faire des sommes sur une table dependante est relativement simple en utilisant les DATAMACRO

    - une datamacro sur PROJET appelle [CalcCharge] avec le code projet comme parametre fait la somme des charges des lots et met a jour l'enregistrement PROJET

    - une datamacro sur LOT appelle aussi [CalcCharge] avec le code Lot comme parametre fait la somme des charges des taches et met a jour l'enregistrement LOT

    - Une datamacro sur chaque evenement After update / AfterCreate / AfterDelete de TACHE lance la datamacro LOT.CalcCharge

    - Une datamacro sur chaque evenement After update / AfterCreate / AfterDelete de LOT lance la datamacro PROJET.CalcCharge

    Voir la base ci joint
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Comment copier une table d'une BD vers une autre BD?
    Par js8bleu dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/10/2009, 09h13
  2. export d'une table d'une base vers une autre
    Par VBBBA dans le forum Access
    Réponses: 2
    Dernier message: 04/09/2006, 17h47
  3. Réponses: 4
    Dernier message: 25/08/2006, 00h25
  4. Réponses: 5
    Dernier message: 04/07/2006, 11h29
  5. [VB.NET] Copie d'une table d'une DB vers une autre
    Par SergeF dans le forum Windows Forms
    Réponses: 9
    Dernier message: 20/11/2004, 09h54

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