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

Modélisation Discussion :

Création d'une table de période de date


Sujet :

Modélisation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 14
    Par défaut Création d'une table de période de date
    Bonjour,

    Je suis débutant avec Access et j'ai beau fouiller partout je ne trouve pas de réponses à mon problème.

    Je travail en 2007, voici les tables utilisé:

    Table Employé:
    - no employé(CP)
    - nom
    - autre info

    Table Service offert
    - No employé(CP)
    - No de facture
    - Montant chargé au client

    Table détail facture
    - No facture(CP)
    - Date facture
    - Montant due à l'employé sur cette facture
    - Autre info sur la facture...

    Table période de paie
    - Date début période(CP)
    - Date fin période

    Table somme due par employé
    - No employé
    - Date de fin de période de paie
    - Somme due

    Sur les ventes de l'entreprise, les employés recoivent une rémunération spécifique(table détail facture). Nous devons produire des rapports bi-hebdomadaire sur ces revenus détaillé ou non. Jusque là tout m'a semblé bien aller.

    Par contre j'aurais aimé utilisé la table période de paie, mais je ne sais pas comment relier cette table à ma table détail facture. Le lien devrait être en fonction de l'intervale entre les date de période. Et le seul lien que j'ai réussi à faire est est-ce que la date de facture correspond à la date de fin ou début.

    Donc je n'ai pas encore lier ma table des période et dans mes états je filtre manuellement selon les période de date désiré.

    On m'a finalement demandé de compiler des sommes due par les employés que nous devons soustraire des sommes que nous leur devons. Et ces sommes ne sont pas due par jour mais par période de paie. Donc je dois absolument faire un lien avec les périodes.

    J'espère être compréhensible. Je commence un peu à utliser VB, donc si j'ai à coder svp me guider un peu.
    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 434
    Par défaut
    Une solution simple mais qui peut-être couteuses en temps de traitement et d'espace disque est de faire un produit croisé entre tes périodes de paie et tes factures puis de ne retenir que la période qui encadre ta date de facturation.

    Un tuc du comme

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select facture.*, periodePaie.* where facture.[dateFacture] between periodePaie.dateDebutPeriode and periodePaie.dateFinPeriode;

    Il serait intelligent de réduire la sélection des périodes de paie et des factures à l'année courrante pour réduire le produit croisé.

    Sinon il existe peut-être une fonction qui te permettrai de déduire la période de paie de la date facturation.

    Exemple : la période de paie est mensuelle (du 1 à fin de mois) donc si une facture est faite dans le mois elle appartient à cette période de paie.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 434
    Par défaut
    Autre idée, au moment de la création de la facture, rechercher la période de paie et l'ajouter à la table des factures comme un attribut de la facture. Comme cela tu sais au moment ou tu traite ta facture à quelle période elle appartient.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 14
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Autre idée, au moment de la création de la facture, rechercher la période de paie et l'ajouter à la table des factures comme un attribut de la facture. Comme cela tu sais au moment ou tu traite ta facture à quelle période elle appartient.

    A+
    J'ai essayé dans un requête de faire un formule du genre dans le générateur d'expression mais étant donné que ma table Paiepériode n'a pas de relation avec aucune autre table celà me crée des doublons... J'ai aussi ajouté un champ Période dans ma table période de paie pour me retourner la valeur.

    Je fais quoi comme relation entre ces tables?

    Voici la formule que j'ai fais dans le générateur d'expression:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    période paie: VraiFaux([Datefacture]>=[TPériodePaie]![DatedébutPP] Et [Datefacture]<=[TPaiePériode]![DatefinPP];[TPaiePériode]![Période];"Pas de période")
    Merci de ton aide

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 434
    Par défaut
    Tu ne peux pas mettre de relation entre tes tables. Il faut en faire une artificielle avec une sélection d'intervale dans une requête.

    Je supose que tu n'as pas de recouvrement de périodes de paie. C'est à dire qu'une date appartient à une et une seule période de paie.

    Personnellement voici comment je résoudrai cela en utilisant la date de début de paie comme identifiant.

    Fonction à ajouter à un module de ton application.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public function LireDebutPeriodePaie(prmDate as date) as variant
       dim result as variant
       result=dfirst("ChampDateDebut","TablePeriodePaie",prmDate & " between [ChampDateDebut] and [ChampDateFin]))"
       LireDebutPeriodePaie=result
    end function
    Exemple de requête :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select facture.*, LireDebutPeriodePaie([Fcature].[dateFacture] as DebutPeriodePaie from facture;

    Grace à cette requête tu vas pouvoir associé une facture et la date de début de la période.

    Si tu as un identifiant de prériode tu pourrais le récupérer à la place de la date de début.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 14
    Par défaut
    Humm... Je sens que je me perds un peu. J'ai ajouté dans un module le code et j'ai modifié les champs et tables selon ma base de donnée. Il y avait un erreur de ) à la fin de la ligne résult. Enfin en enlevant la ) en double ça a fonctionné.

    Ensuite dans une nouvelle requête et ajouté le code sql que j'ai aussi adapté selon la base. Je ne connais pas le SQL, mais pourquoi quand j'exécute il me demande d'ouvrir le fichier source? Est-ce que j'aurais due ajouter ce code à ma requête du départ?

    Désolé de mon ignorance...

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/09/2010, 17h22
  2. Date de création d'une table
    Par jeanphi45 dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 24/03/2010, 11h06
  3. Date de création d'une table
    Par LBO72 dans le forum SQL
    Réponses: 5
    Dernier message: 25/05/2007, 10h24
  4. Contrainte de date dans la création d'une table
    Par snoopy69 dans le forum Administration
    Réponses: 1
    Dernier message: 21/11/2006, 11h16
  5. Réponses: 2
    Dernier message: 13/07/2006, 18h01

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