Bonsoir tout le monde,
Je suis passé depuis peu sur Office 2007.
Actuellement, je travaille sur une nouvelle bdd Acc2007 et me voilà confronté à un problème d'"erreur de compilation" dans un calcul de requête.
Sur mes bdd Acc2003, je n'étais pas confronté à ce problème.
Dans un module, j'ai deux fonctions :
1ère -
2ème -
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 Public Function DateEchéance(Début, durée, FinDemois, Jour) As Variant Dim E, d1, d2 If Not IsNull(Début) Then d1 = Int(nullzéro(durée) / 30) d2 = nullzéro(durée) - (d1 * 30) E = DateAdd("m", d1, Début) If d2 > 0 Then E = DateAdd("d", d2, E) End If If nullzéro(FinDemois) = True Then E = DateAdd("m", 1, DateAdd("d", -Day(E) + 1, E)) E = DateAdd("d", nullzéro(Jour), DateAdd("d", -1, E)) End If Else E = 0 End If DateEchéance = E End Function
Dans une requête, j'appelais donc la fonction DateEchéance sous cette forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Public Function nullzéro(val) As Variant Dim F If IsNull(val) Then F = 0 Else F = val End If nullzéro = F End Function
où
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Date_échéance: DateEchéance([Date_deb];[nb_jours];[fin_mois];[le])
Date_deb est un champ de type date
nb_jours un champ de type entier long
fin_mois un champ de type Nui/Non
le un champ de type entier long
Si vous avez une idée du problème, je prends.
Merci d'avance.
Partager