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 :

Besoin de conseils pour une application


Sujet :

Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Besoin de conseils pour une application
    Bonjour à tous, j'ai un petit projet à réaliser et étant débutant je voudrais votre avis...

    PRESENTATION ET OBJECTIF: chaque mois notre opérateur téléphonique nous envoit un fichier excel séparé par des vigules ( .csv ) où chaque enregistrement représente un appel téléphonique passé par un des téléphones de l'entreprise ( numéro d'origine, numéro de destination, coùt, durée...).
    Actuellement, aprés réception du fichier, il est mit en forme puis trié (option de tri d'excel) afin de connaitre le récapitulatif des appels de chaque utilisateur ( montant vers mobiles france, duree vers mobiles france, montant vers mobiles internationaux,duree vers mobiles internationaux, vers fixes internationaux...)
    et de stocker ( copier/coller manuellement) dans un autre classeur qui sert de récapitulatif.
    Le dernier fichier reçut était de 9000 enregistrements alors vous pouvez imaginer à quel point l'opération de tri est lourde....
    C'est pourquoi j'ai décidé de créer une application ACCESS qui me faciliterait grandement la tâche.

    Etant débutant je vais vous expliquer le fonctionnement auquel j'ai pensé,ce que j'ai déjà fait et les problémes que je rencontre en espérant avoir vos remarques, conseils...

    FONCTIONNEMENT:

    Aprés réception du fichier .csv, je le met en forme et l'importe dans ma table import via une requête AutoExec.
    Maintenant que le fichier est dans ma table, il ne reste plus qu'a faire le traitement.
    Dans un premier temps j'ai réalisé un formulaire qui aprés sélection du SECTEUR dans lesquel travaille la personne et aussi de son NOM affiche son NUMERO ( pas trés compliqué vous allez dire mais je suis déjà content )



    Aprés mise à jour de ces zones de listes, chaque zones de listes représentant les différents totaux sont aussi mis à jour.

    Le seul truc est que je voudrais que le traitement pour chaque employé se réalise automatiquement ( sans sélection dans le formulaire).


    bon j'espére être assez clair

    merci d'avance pour vos conseils...

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    ben il faut faire une requête qui somme les montants par employé
    genre select secteur,employé,somme(montant*(1+tva)) group by employé


    puis lancer un état avec un regroupement et total par secteur
    Elle est pas belle la vie ?

  3. #3
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    random a raison, il faut juste que tu fasses des sommes par destinations (c'est le vocable Telecom) :
    . fixe
    . mobile
    . international
    . etc ...

    Pour ça il faudrait que nous ayons un exemple de ton fichier source ...
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  4. #4
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    Utilise des requêtes actions.
    Tu te fais une table résultat avec une ligne par utilisateur et par mois (le triplé utilisateur, mois, année pourrait être ta clé primaire) avec un champs par montant que tu veux conserver.

    Ensuite tu crée une requête ajout qui va créé une ligne pour chaque utilisateur avec soit l'ensemble des montants calculés soit un des montants si tu ne peux les obtenir tous avec une seule requête, cela dépend de ton MLD.

    Si tu n'as pas pu créé une requête gérant l'ensemble des champs tu crées autant de requêtes mise à jour que nécessaires (au pire une par montant à calculer)

    REM : Penses à gérer la suppression des données du mois déjà présentes dans ta table résultat avant tout import histoire de pouvoir charger le fichier autant de fois que nécessaires (utile pour les tests, les corrections de fichier par ton opératuer de téléphone, les plantages machines...)

    Le mieux est de coller le lancement de ce bloc de requêtes directement à la suite de ton traitement d'import.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Le fichier source ( aprés mise en forme) est importé dans access et est composé des champs suivants:

    POSTE APPELANT / DUREE APPEL / POSTE APPELE / MONTANT

    J'ai une table LISTE EMPLOYES ( une centaine d'employés) avec:

    NOM / NUMERO

    Pour chaque NOM je dois donner le montant total et la duree totale ( vers fixes france, fixes étrangers, mobiles france, mobiles étrangers, appels internes)

    Merci de votre aide je vais y jeter un oeil...

    Pour ce qui est de la suppéression de la table résultat j'ai déjà automatisé ça.

  6. #6
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    La partie facile :
    Une requête d'ajout des données suivante dans ta table résultat final :
    Lien entre tes deux tables sur "num collaborateur" et "poste appelant" (gaffe au format du numéero) avec un group by sur le collaborateur et une somme pour les champs Durée et Montant.

    Ensuite selon tes règles de gestion pour déterminer s'il s'agit d'un appel vers fixes france, fixes étrangers, mobiles france, mobiles étrangers, appels internes :
    - soit 5 requêtes mise à jour pour ajouter les valeurs montant total et durée totale chaque type d'appel (idem requête de création précédente à laquelle tu ajoutes une clause where pour la règle de gestion utilisée pour déterminer le type d'appel)
    - soit un traitement à base de recordset avec mise à jour de la table résultat à la fin (plus rigolo mais plus compliqué aussi)

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    SELECT [POSTE APPELANT], Sum([MONTANT APPEL])
    FROM RECAP
    GROUP BY [POSTE APPELANT];


    voilà la requête qui me permet d'avoir le montant total des appels de chacuns des numéros.

    SELECT [POSTE APPELANT], Sum([DUREE APPEL])
    FROM RECAP
    GROUP BY [POSTE APPELANT];

    par contre j'ai un soucis quand j'additionne les durées d'appels qui sont de type Heure...

    comment additionner des champs de type heure?

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Si quelqu'un pourrait m'aider ça serait vraiment sympa...

  9. #9
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    Si la somme ne marche pas directement sur les dates utilises les entiers qui se cachent en dessous.
    Si je ne m'abuse les dates sont en fait une mise en forme du nombre de secondes écoulées depuis une date de reférence.
    Transforme tes données dates en integer, sommes les, puis retransforme le résultat en date.

    Un conseil, vas voir du côté des tutoriels, je crois me souvenir que Papyturbo en avais fait un très clair sur les manipulations de dates.

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    C'est vrai que les tutos sont bien fournis sur ce sujet...

    Merci encore pour votre aide!

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/09/2008, 02h43
  2. Réponses: 4
    Dernier message: 07/12/2007, 18h39
  3. besoin de conseil pour une anim
    Par larnack dans le forum Flash
    Réponses: 6
    Dernier message: 14/10/2006, 23h28
  4. [Dates] Besoin de conseil pour une date
    Par Dargos dans le forum Langage
    Réponses: 6
    Dernier message: 19/07/2006, 11h59
  5. Besoin de conseils sur une application
    Par Jim_Nastiq dans le forum Langage
    Réponses: 12
    Dernier message: 12/04/2006, 12h43

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