Problème pour compter nombre d'enregistrements (ACCESS 2003)

Le
eliza Hors ligne
Bonjour,

J'ai un problème pour compter le nombre d'enregistrements d'un table.
J'ai deux tables existantes avec une relation "1-plusieurs".
Dans ma table coté "1", je recense tous les salariés, dans la table coté "plusieurs", tous les arrêts de travail de ces salariés.

A partir ce ça, je veux calculer le taux d'absentéisme et pour cela, j'ai besoin du nombre de salariés et du nombre de jours d'arrêts. Et là, PROBLEME!
Quand je vais dans les requêtes, je veux compter les numéros de matricule de ma table Salariés et à coté, compter le nombre de jours d'absence de ma table Arrêts.
Sauf qu'à cause de la relation, quand je fais Compte[Numéro matricule], il me dit que j'en ai 81 parce qu'il compte plusieurs fois ceux qui ont plusieurs arrêts.

Comment faire pour qu'il me compte le nombre exacte de salariés même si dans ma requête, j'affiche ma table Arrêts?

J'espère avoir étéassez claire. Merci d'avance!
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gloops
Le #23652561
eliza a écrit, le 08/08/2011 10:43 :
Bonjour,



Bonjour


J'ai un problème pour compter le nombre d'enregistrements d'un table.
J'ai deux tables existantes avec une relation "1-plusieurs".
Dans ma table coté "1", je recense tous les salariés, dans la table coté
"plusieurs", tous les arrêts de travail de ces salariés.

A partir ce ça, je veux calculer le taux d'absentéisme et pour cela , j'ai
besoin du nombre de salariés et du nombre de jours d'arrêts. Et là , PROBLEME!
Quand je vais dans les requêtes, je veux compter les numéros de mat ricule de ma
table Salariés et à coté, compter le nombre de jours d'absence de ma table
Arrêts.
Sauf qu'à cause de la relation, quand je fais Compte[Numéro matricu le], il me
dit que j'en ai 81 parce qu'il compte plusieurs fois ceux qui ont plusi eurs
arrêts.



Tu noteras au passage que ça ne me choque pas : les entreprises avec 81
salariés, ça existe. Il existe des entreprises avec un seul salarié , et
d'autres avec plusieurs dizaines de milliers. Alors entre les deux, on
doit bien en trouver avec 81.


Comment faire pour qu'il me compte le nombre exacte de salariés mêm e si dans ma
requête, j'affiche ma table Arrêts?

J'espère avoir étéassez claire. Merci d'avance!




De me connecter au milieu de la nuit peut donner des choses bizarres,
mais je vais essayer quand même.

En imaginant que tous les salariés soient connus dans la table salarié s :
SELECT Count(*) FROM SALARIES

Attention, si on fait ça on compte aussi les salariés qui ne se sont
jamais absentés.

Alors pour faire le décompte dans la table des arrêts, il y a peut-ê tre
mieux pour les dernières versions, mais voilà ce qui me vient à l'e sprit :

Requête SalariesArretes
SELECT DISTINCT [Numéro matricule] As Matric FROM Arrêts

Pour savoir combien ils sont

SELECT COUNT(Matric) FROM SalariesArretes

(c'est le nombre de salariés qui se sont arrêtés au moins une fois au
cours de toute leur carrière dans l'entreprise -du moins, depuis que
l'application existe)

ensuite il doit y avoir moyen de mijoter une jointure entre
SalariesArretes et Arrets, pour pouvoir mettre sur chaque ligne, en plus
de Matric, un DCount() avec un critère qui ressemble à

"[Numéro matricule]=" & Matric

(et ne pas oublier d'ajouter les guillemets si le matricule est
alphanumérique.

Pour les propriétés de la jointure, afficher les éléments communs .

Attention avec les accents ou les espaces dans les noms de champs, c'est
casse-gueule.

Après, l'habitude de mettre tab au début des noms de tables, et req a u
début des noms de requêtes, et trois lettres représentant la table au
début des noms de champ, c'est juste pour voir clair dans certaines
circonstances.
Publicité
Poster une réponse
Anonyme