Requete Sql

amikove Messages postés 42 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 15 juin 2008 - 11 févr. 2008 à 13:54
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 12 févr. 2008 à 13:12
Bonjour tout le monde
j'ai une Table POINTAGE avec 3 Champs
CodeEmployé
DatePointage   ("la date et heure ou l'employé a pointé Avec sa carte magnétique")
Etat     (" Contien la valeure Entrée 'E' Ou Sortie 'S' ")

Voila un petit Exemple....

CodeEmployé   |       DatePointage         |     Etat
-------------------|------------------------------|-----------
1                     |    01/01/2001 08h00      |       E
1                     |    01/01/2001 10h30      |       S
1                     |    01/01/2001 11h54      |       E
1                     |    01/01/2001 18h00      |       S
2                     |    01/01/2001 09h00      |       E
2                     |    01/01/2001 16h23      |       S      
...

je veux calculer combien de temps l'employé est rester dans l'usine .
et comme etant les 2 valeures de temps entré é sortie existent dans la meme table...
Je suis bloqué 

si qlq1 peut m'aider
Merci d'avance

4 réponses

GBadry Messages postés 77 Date d'inscription jeudi 26 avril 2007 Statut Membre Dernière intervention 27 février 2014 2
11 févr. 2008 à 17:49
tu utilises des record sources. ça veut dire dans ton code, tu définies rs1 comme un dao.recordsource et rs2 de la même façon.
ensuite avec une requete sql tu leur affectes chacun la partie de la table que tu voudras.
par exemple tu dis ici:

sql1 = "select * from POINTAGE where
CodeEmployé = " & le code de ton employé & "
Etat = 'E'"
set rs1 = db.openrecordset(sql1,dbopendynaset)

normalement là tu auras un record source qui contient un seul enregistrement là où l'employé en question est entré.
la date d'entrée est donc rs1.fields(1) (le premier commence à 0)
ensuite tu fais la même chose avec la date de sortie et tu as donc les deux dates qu'il te faut et tu fais donc ton opération de soustraction.

j'espère que ça a pu t'aider.
0
amikove Messages postés 42 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 15 juin 2008
11 févr. 2008 à 23:24
Merci enormement pour ton effort, mais je croi ke les RecordSource c'a existe en Ado
moi dans cette periode je veux travailler  seulment avec des requetes Sql, Annalyseur de requetes

Merci encor GBadry
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
12 févr. 2008 à 13:09
Salut,
c' est une insuddisance au niveau de la conception de ta table.
Structure proposée:
CodeEmployé   |  DatePointage   |  Heure Entree  | Heure Sortie |


Pour le combien d' heure n tu le génère dans une requete :
NbHeure: Heure Sortie-Heure Entrée.
Mais bon il y' a une solution avec ta structure actuelle.


A partir de ta table fais deux requetes.
Une pour extraire les entrée (=E)
L' autre pour les sortie (=S)
Relie ensuite ta table pointage aus deux requetes sur IdEmploté + Date
Pour avoir deux colonnes une entrée et l' autre sortie.
Génères ensuite la 3^ colonne Nombre Heure (Sortie - Entree)


IdEmploy Date Entree Sortie NbHeure






 





<hr />

... Il y' en a même qui m' ont vu voler.
<hr />
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
12 févr. 2008 à 13:12
comprendre par  IdEmploté + Date =>
double relation : IdEmploté et  Date

<hr />
... Il y' en a même qui m' ont vu voler.
<hr />
0
Rejoignez-nous