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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
Dim BD As DAO.Database
Dim RS As DAO.Recordset
Dim Req As String
Dim No_Boite As String
Dim V_Date As String
Dim V_Heure As String
Dim Rep
Dim NbHeures_Prep As Double
Dim NbHeures_Saisie As Double
Dim NbHeures_Numerisation As Double
Dim NbHeures_CQ As Double
Dim total_heures As Double
Dim H1 As Date
Dim H2 As Date
Dim D1 As Date
Dim D2 As Date
V_Date = Format(Date, "YYYY-MM-DD")
V_Heure = Format(Time, "HH:MM:SS")
If IsNull(Me.Txt_no_Boite_a_rechercher.Value) Or Me.Txt_no_Boite_a_rechercher.Value = "" Then
MsgBox "Vous devez inscrire un numéro de boite avant toute chose !", vbCritical
Exit Sub
End If
Rep = MsgBox("Êtes-vous sûr de cette action ?", vbYesNo, "Validation de l'action de l'employé") ' Question qui demande si l'utilisateur a bien terminé ici le contrôle qualité.
If Rep = vbYes Then
If IsNull(Me.Cmb_Saisi_Données_1.Value) Or IsNull(Me.Cmb_Saisi_Données_2.Value) Or IsNull(Me.Cmb_Préparation_Matérielle_1.Value) Or IsNull(Me.Cmb_Préparation_Matérielle_2.Value) Or IsNull(Me.Cmb_Numérisation_1.Value) Or IsNull(Me.Cmb_Numérisation_2.Value) Or IsNull(Me.Cmb_Controle_Qualité_1.Value) Then ' valide si les contrôles précédents contiennent le nom d'un utilisateur. Si il y en a UN qui manque on arrête le tout avec message d'erreur. Si tous les contrôles contiennent un nom d'utilisateur alors ...
MsgBox "Erreur! Une ou des étapes précédentes à la finalisation du contrôle qualité n'ont pas été finalisées!", vbCritical
Acces_Liste_Deroulantes
Exit Sub
Else
No_Boite = Me.Txt_no_Boite_a_rechercher.Value ' no de la boite que l'utilisateur travaille (saisie de données, préparation, numérisation, contrôle qualité et remise en forme)
Req = "select * from Boites where ID_Boite = '" & No_Boite & "'" ' trouve toutes les infos dans la table BOITES en lien avec le no de la boite.
Set BD = CurrentDb
Set RS = BD.OpenRecordset(Req, dbOpenDynaset)
NbHeures_Prep = RS.Fields("Duree_Preparation").Value ' met dans une variable le temps pris pour la préparation
NbHeures_Saisie = RS.Fields("Duree_Saisie").Value ' met dans une variable le temps pris pour la saisie de données
NbHeures_Numerisation = RS.Fields("Duree_Numerisation").Value ' met dans une variable le temps pris pour la numérisation
RS.Edit ' mode édit... modification d'informations
RS.Fields("Responsable_Controle_2").Value = ID_Utilisateur ' no de l'employé
RS.Fields("Date_Controle_2").Value = V_Date ' Date de l'action
RS.Fields("Heure_Controle_2").Value = V_Heure ' Heure de l'action
H1 = TimeValue(CDate(RS.Fields("Heure_Controle_1").Value))
D1 = DateValue(CDate(RS.Fields("Date_Controle_1").Value))
H2 = TimeValue(CDate(RS.Fields("Heure_Controle_2").Value))
D2 = DateValue(CDate(RS.Fields("Date_Controle_2").Value))
NbHeures_CQ = DateDiff("n", D1 & " " & H1, D2 & " " & H2) ' Le nbr de minutes qu'à pris l'action début et fin de contrôle qualité
NbHeures_CQ = (Format(NbHeures_CQ / 60, "####.00")) ' convertis les minutes en heures.
RS.Fields("Duree_CQ").Value = NbHeures_CQ ' affecte dans l'enregistrement de la boite le temps total du contrôle qualité.
RS.Fields("Duree_Totale").Value = (Format(NbHeures_Saisie + NbHeures_Prep + NbHeures_Numerisation + NbHeures_CQ, "####.00")) ' affecte le temps total pour toute les actions incluant le contrôle qualité.
RS.Update
RS.Close
Set RS = Nothing
BD.Close
Set BD = Nothing
Acces_Liste_Deroulantes
Exit Sub
End If
Else
Exit Sub
End If |
Partager