Bonjour,
Je cherche à créer une fonction qui en passant en paramètre une date me remonte le mois comptable.
Qu'est ce que le mois comptable ? Il correspond à cette table :
etc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 mois debutmois finmois 1 01/01/2007 26/01/2007 2 27/01/2007 23/02/2007 3 24/02/2007 30/03/2007 4 31/03/2007 27/04/2007
Donc pour récupérer le mois comptable, il faut que je regarde la date dede réalisation pour dire dans quel mois comptable la date se trouve en la comparant aux dates de début et de fin de mois comptable.
J'ai donc songé à déclarer une fonction moiscomptable (date)...
... mais elle ne marche pas.
L'erreur que j'obtiens est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Function MoisComptable(DateParam As Date) As Integer Dim db As DAO.Database, rst As DAO.Recordset, fld As DAO.Field Dim sSQL As String Set db = DBEngine.OpenDatabase("K:\MLR3.MDB") sSQL = "SELECT calendrier_mois FROM calendrier WHERE calendrier_datedebmois<=" & DateParam & "and calendrier_datefinmois>=" & DateParam Set rst = db.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly) rst.MoveNext MoisComptable = rst("calendrier_mois") rst.Close End Function
Quand je remplace le MoveNext par un MoveFirst j'obtiens:Erreur d'exécution '3021'
Aucun Enregistrement en cours.
Je vois pas ou est mon erreur :sErreur d'exécution '3219'
Opération non valide.
Merci d'avance de votre aide.
Partager