Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Affichage des activités des salariés par période

1 réponse
Avatar
TF
Bonsoir,

J'ai une table qui mémorise les activités des salariés :
dans un mois, j'ai
salarié jour_1 jour_2 jour_3 jour_4 jour_5 ...
jour_11 ....... jour_31
Martin présent malade malade présent congé congé

Je dois extraire :
Martin :
malade : jour_2 à jour_3
en congé : jour_5 à jour_11
etc.

est-ce qu'il y a une méthode simple pour extraire ces info. ?
Merci

1 réponse

Avatar
3stone
Salut,

"TF"
J'ai une table qui mémorise les activités des salariés :
dans un mois, j'ai
salarié jour_1 jour_2 jour_3 jour_4 jour_5 ...
jour_11 ....... jour_31
Martin présent malade malade présent congé congé

Je dois extraire :
Martin :
malade : jour_2 à jour_3
en congé : jour_5 à jour_11
etc.




L'organisation des données en "horizontal" ammène toujours ce genre de problèmes...

Pour contourner, tu peux te créer une fonction "maison"
dans laquelle tu boucle sur les champs

Un début...
que tu appele dans la fenêtre d'exécution immédiate par

? fnActivite("Martin")


Function fnActivite(sSalarie)
Dim db As DAO.database
Dim rs As DAO.Recordset
Dim i As Integer

Set db = CurrentDb
Set rs = db.OpenRecordset("tblSalaries", dbOpenDynaset)

If Not rs.EOF Then
rs.FindFirst "[Salarie]=""" & sSalarie & """"
If Not rs.NoMatch Then
For i = 1 To 31
Debug.Print rs.Fields("Jour_" & i)
'
' ici, il faudra *regrouper* les données...
'
Next i
End If
End If

rs.Close
Set rs = Nothing
Set db = Nothing
End Function


PS: Le nom du salarié est également une mauvaise clé primaire...



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------