Bonjour,
j'ai fait une fonction, qui donne comme résultat le type de semaine en fonction d'une date:
elle est située dans un module standard:
Je souhaite faire afficher le résultat dans un sous formulaire SF_PlanningSemaine dans une case appelée TypeSemaine.
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 Public Function TypeSemaineDate(dt As Date) As String Dim j As Long Dim dt1 As Date Dim db As DAO.Database Dim rsPTS As DAO.Recordset Set db = CurrentDb Set rsPTS = db.OpenRecordset("select * from T_ParamTypeSemaine INNER JOIN T_MagasinCourant ON T_ParamTypeSemaine.Magasin=[T_MagasinCourant].[Magasin] ;") dt1 = dt - Weekday(dt, vbMonday) + 1 j = NumSemaine(dt1) TypeSemaineDate = rsPTS.Fields("Semaine" & j) End Function
Ce sous formulaire est contenu dans le formulaire F_PlanningSemaine
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me.TypeSemaine = TypeSemaineDate(Forms!F_PlanningSemaine.DateD)
J'obtiens à l'execution:
Si je clique sur "Fin", mon formulaire et son sous formulaires s'affichent bien, et dans la case TypeSemaine j'ai bien la valeur escomptée qui s'affiche..
Je suppose que le souci vient du fait que lors du chargement du sous formulaire la valeur DateD n'est pas encore chargée, mais je ne vois pas comment résoudre ceci.
Merci d'avance pour votre interet
Partager