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
| 'Changement de position du retraité
Private Sub btnchangeposition_Click()
Dim MarqueChange As Boolean
Dim DateDernierChange As Date, DateNllePosition As Date
Dim MaxPos As Integer
'Trouver la position maximale du retraité dans la table et incrémenter
MaxPos = DMax("[Position]", "[CpositionRetraite]", "[RefContact]=" & Me.RefContact) + 1
'Trouver la dernière date de changement de position
DateDernierChange = DMax("[DatePosition]", "[CpositionRetraite]", "[RefContact]=" & Me.RefContact)
Reponse = MsgBox("Dernier changement " & DateDernierChange & " Date du jour = " & Date)
'Vérifier selon le corps si la période minimum correspondant au corps par rapport à la date du jour est respecté
'MsgBox (VerifDernierChange(Me.TxtRefCorps, DateDernierChange, Date))
MarqueChange = (VerifDernierChange(Me.TxtRefCorps, DateDernierChange, Date))
'Si la période par rapport à la date du jour est respectée
If MarqueChange Then
MsgBox ("Date de changement prévu =" & DateAdd("yyyy", PeriodeLegal(Me.TxtRefCorps), DateDernierChange))
DateNllePosition = DateAdd("yyyy", PeriodeLegal(Me.TxtRefCorps), DateDernierChange) - 1
'Ajouter le nouveau statut du retraité avec la nouvelle date qui de toutes les façons sera <= à la date du jour
strsql = "INSERT INTO CpositionRetraite ( RefContact, [Position], DatePosition )" _
& " VALUES (" & Me.RefContact & "," & MaxPos & ",#" & Format(DateNllePosition, "yyyy/mm/dd") & "#)"
'Exécuter la requête ajout
CurrentDb.Execute strsql, dbfailonerror
Me.Requery
Me.SF_PositionRetraite.Form.Requery
Else
'Sinon
MsgBox "La période depuis le dernier changement de position par rapport à aujourd'hui n'est pas respectée !"
End If
End Sub |
Partager