1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| Option Compare Database
Option Explicit
Dim rsImpression As DAO.Recordset
Dim ctlEtiquette As Control
Dim DateDebut As Date
'=========================================================
Private Sub Report_Open(Cancel As Integer)
Set rsImpression = CurrentDb.OpenRecordset("R_PrintPresence") 'Analyse croisée pour savoir les present de chaque jour
End Sub
'=========================================================
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
Dim Ecart As Integer
Dim CompteChamp As Integer, Compteur As Integer
Dim DateEnCours As Date
' Intitialisation au debut des enreristrements
With rsImpression
If rsImpression.EOF = True Then ' Si on se trouve a la fin des Enrg On sort de la procedure
Exit Sub
End If
DateDebut = Format(Left(rsImpression.Fields(5).Name, 10), "dd mmm yy")
CompteChamp = rsImpression.Fields.Count
For Compteur = 5 To CompteChamp - 1 'Due au fait que l'on commence la numerotation à 0
DateEnCours = Format(Left(rsImpression.Fields(Compteur).Name, 10), "dd mmm yy")
Ecart = DateDiff("d", DateDebut, DateEnCours) 'Determination de l'ecarte entre le debut et la date en cours pour se reperer dans les cases a cocher
If rsImpression.Fields(Compteur) <> "" Then 'si le resultat de l'analyse Croisee est vide c'est qu'il n'y a personne sur cette date
If Right((rsImpression.Fields(Compteur).Name), 2) = "Jo" Or Right((rsImpression.Fields(Compteur).Name), 2) = "Ma" Then
Set ctlEtiquette = Me.Controls("LblPresence" & (1 + 2 * Ecart)) 'Permet d'incrementer sur les etiquettes uniquement
ctlEtiquette.BackColor = Nz(RGB(0, 0, rsImpression.Fields(Compteur)), RGB(255, 255, 255))
End If
If Right((rsImpression.Fields(Compteur).Name), 2) = "Jo" Or Right((rsImpression.Fields(Compteur).Name), 2) = "Ap" Then
Set ctlEtiquette = Me.Controls("LblPresence" & (2 + 2 * Ecart)) 'Permet d'incrementer sur les etiquettes uniquement
ctlEtiquette.BackColor = RGB(0, 0, 0)
End If
End If
Next Compteur
.MoveNext
End With
End Sub |
Partager