mllezozo
Messages postés14Date d'inscriptionjeudi 11 mars 2004StatutMembreDernière intervention15 novembre 2004
-
11 mars 2004 à 09:48
mllezozo
Messages postés14Date d'inscriptionjeudi 11 mars 2004StatutMembreDernière intervention15 novembre 2004
-
11 mars 2004 à 14:22
Coucou tout le monde !
Voilà, je vous expose mon problème qui tient du SQL
je gère les salariés d'une entreprise et je fait donc un historique
Mon modèle est le suivant :
SALARIE(NumSal, Ste, Nom, Prenom)
tblDate(jj_mm_aaaa)
Historique(NumSal, jj_mm_aaaa, DateSortie)
jj_mm_aaaa correspond à ma date d'entrée et dans historique j'enregistre toutes les entrées et sorties des salariés
Mon problème : je veux récupérer le dernier enresgitrement de chaque salarié mais je ne trouve pas la requête SQL qui
convient !!!!
mllezozo
Messages postés14Date d'inscriptionjeudi 11 mars 2004StatutMembreDernière intervention15 novembre 2004 11 mars 2004 à 14:22
Ce sont des tables Access que j'interroge à partir de VB mais le problème c'est qu'il faut que je récupère uniquement le dernier enregistrement de chaque salarié
par exemple:
le salarié 337 est entré le 14/05/2001 , sorti le 28/06/2002 puis rentré de nouveaux le 01/12/2003
Si je récupère la liste des salariés présentdans la société entre le 01/01/2003 et le 31/01/2003, il ne devrait donc pas me le ressortir
Voici ma requête SQL
SELECT NumSal, Nom, Prenom, Ste
FROM SALARIE
WHERE NumSal IN (SELECT NumSal FROM HISTORIQUE WHERE IsNul(DateSortie) OR DateSortie BETWEEN #01/01/2003# AND #31/01/2003# OR DateSortie >= #31/01/2003#)
AND NumSal IN (SELECT NumSal FROM Historique WHERE NOT jj_mm_aaaa>=#31/01/2003#);
Mais le salarié de l'exmple ressort toujours.
Nota: lorsque DateSortie est nulle, cela indique que le salarié fait tjs parti de l'entrreprise