[Acess - VBA] Manipulation de date

Résolu
ange_oliver -  
ange_oliver Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

voilà, je voulais faire un Etat en filtrant la date de façon à ce que l'Etat m'affiche les commandes passées il y a plus de 15 jours.

Concrètement, je dois faire Date() - 15 jours ...
et forcément si le numéro du jour et inférieur à 1, il doit retourner à 31 en retirant 1 au numéro du mois.

Mon code qui ne fonctionne pas :

Private Sub Report_Load()

Dim Month_prev As Integer
Month_prev = Month(Date) - 15

If (Month_prev < 0) Then
Reports![COMMANDES en retard].Filter = "[Date_commande] < #" & Day((Date) - 15) & "/" & Month((Date) - 1) & "/" & Year(Date) & "#"
Else
Reports![COMMANDES en retard].Filter = "[Date_commande] < #" & Day((Date) - 15) & "/" & Month(Date) & "/" & Year(Date) & "#"
End If

End Sub



J'accepte aussi les modifications purement graphique si le VBA est inutile ici.

Merci.

A voir également:

3 réponses

gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
bonjour

forcément si le numéro du jour et inférieur à 1, il doit retourner à 31 en retirant 1 au numéro du mois

Tu te crées des problèmes tout seul car une date est un nombre de jours et donc si tu soustrait 15 à ta date elle va changer de mois correctement en tenant compte de la durée du mois.

Pour faire cela tu n'as pas besoin de macro d'ailleurs, tu peux le faire directement dans le paramétrage de ton état.
1
ange_oliver Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   1
 
Ok merci, mais comment ?
0
ange_oliver Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   1
 
gbinforme, merci

Tu as vu juste, il m'a suffit de faire une requète et d'écrire dans la case "Où" de la colonne "Date_commande" :

<(Date()-15)

La date est bien un nombre de jours, merci.
0