Bonsoir,
Je découvre (et ne comprend rien) la librairie ADO pour manipuler des requêtes SQL en VBA.
Ma requête compte le nombre de jours ouvrés dans une table, mais je ne sais pas comment récupérer ce résultat pour ensuite travailler avec (le multiplier par 10, et rajouter le nombre d'heures travaillées à la date1 et à la date2).
Et enfin je voudrais rajouter le résultat de mon calcul dans ma table TEST.
Voilà mon ébauche:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Function Resultat(Date1 As Date, Date2 As Date) As Integer Dim DifDate1, DifDate2 As Date Dim Nb_jours As Integer 'Nombre de jours ouvrés entre Date1 et Date2 (récupération du résultat de la requête) Dim base As DAO.Database Dim rst As Recordset Dif_heures = 0 Nb_jours = 0 'Calculer le nbre d'heures travaillées pour Date1 et Date2 DifDate1 = DateDiff("h", Hour(Date1), 18) 'Nbr d'heures travaillées le jour de Date1 DifDate2 = DateDiff("h", 8, Hour(Date2)) 'Nbr d'heures travaillées le jour de Date2 Set base = CurrentDb() 'Nombre de jours se trouvant entre les 2 dates et multiplication de ce nombre par 10 pour avoir le nombre d'heures travaillées entre les 2 dates Set rst = CurrentDb.OpenRecordset("SELECT COUNT(*) FROM Jours_travail WHERE #" & DateValue(Date1) & "# < Jour AND #" & DateValue(Date2) & "# > Jour AND Jours_tavailles = 'Oui'") While Not rst.EOF Nb_jours = rst("Nb_jours") rst.MoveNext Wend rst.Close Set rst = Nothing 'Calculer le nbre d'heures travaillées pour Date1 et Date2 DifDate1 = DateDiff("h", Hour(Date1), 18) 'Nbr d'heures travaillées le jour de Date1 DifDate2 = DateDiff("h", 8, Hour(Date2)) 'Nbr d'heures travaillées le jour de Date2 'Addition des différents calculs Resultat = Nb_jours + DifDate1 + DifDate2 End Function Sub TEST2() DoCmd.RunSQL ("UPDATE TEST SET `Mes résultats`= Resultat(Demand_Launch_date_Valid, Acknowledge_date_valid);") End Sub
Partager