OVH Cloud OVH Cloud

recuperer dates avec une query

2 réponses
Avatar
Raymond
Bonjour =E0 tous
J'ai dans access une bd et je voudrais cr=E9er une query=20
avec vba pour r=E9cuperer uniquement les donn=E9es des 5=20
derniers jours pr=E9c=E9dents avec une boite de dialogue=20
(style inputbox), qui me permettrait d'entrer le bornage =E0=20
la demande. Si vous avez compris ma demande (qui je le=20
sais n'est peut-etre pas tres claire pour des Champions=20
comme vous), merci de me donner la solution.
Je vous remercie par avance.
A bient=F4t

2 réponses

Avatar
Eric
"Raymond" écrivait
news:1969901c44d64$bb2a33b0$:

Bonjour à tous
J'ai dans access une bd et je voudrais créer une query
avec vba pour récuperer uniquement les données des 5
derniers jours précédents avec une boite de dialogue
(style inputbox), qui me permettrait d'entrer le bornage à
la demande. Si vous avez compris ma demande (qui je le
sais n'est peut-etre pas tres claire pour des Champions
comme vous), merci de me donner la solution.
Je vous remercie par avance.
A bientôt


Bonjour

Apres avoir chargé les références DAO 3.x Object Library

Sur l'évènement clic d'un bouton:
Private Sub Commande_Click()
Dim strSQL As String, RepDate As String
RepDate = InputBox("Date Limite", "Recherche")
If Len(RepDate) = 0 Then
Exit Sub
Else
strSQL = "Select * from tfacture "
strSQL = strSQL & "Where [datefacture] between "
' la fonction DateAdd permet de gérer ton décalage
strSQL = strSQL & Format(DateAdd("d", -5, RepDate), "#mm-dd-yyyy
#") & " and "
strSQL = strSQL & Format(RepDate, "#mm-dd-yyyy#")
Debug.Print strSQL
Dim rq As DAO.QueryDef
Set rq = CurrentDb.CreateQueryDef("tmpQuery", strSQL)
DoCmd.OpenQuery "tmpQuery"
' on suprime la requête
CurrentDb.QueryDefs.Delete "tmpQuery"
Set rq = Nothing
End If
End Sub

A+
Eric

Avatar
Eric
re,
Quelques erreurs liées au test

Tu peux supprimer le ligne Debug.? strSQl et tu dois remplacer le champ
DateFacture par ton champ perso ainsi que le nom de la table.

ce qui donne :

strSQL = "Select * from TaTable "
strSQL = strSQL & "Where [TonChampDate] between "
' la fonction DateAdd permet de gérer ton décalage
strSQL = strSQL & Format(DateAdd("d", -5, RepDate), "#mm-dd-yyyy
#") & " and "
strSQL = strSQL & Format(RepDate, "#mm-dd-yyyy#")

A+
Eric