re :
disons que le formulaire Tri_dates est le formulaire principal, sur ce formulaire tu places 2 textboxs.
tu crées une quatrième requête partiel du style que celle que tu as soumis
en lui donnant un autre nom [ nom_de_la_requete dans la procédure ] :
SELECT [Maintenance].[Refmaintenance], [Maintenance].[Numlicence_cle], [Maintenance].[Fin_garantie], [Maintenance].[Fin_extension]
FROM Maintenance
WHERE ((([Maintenance].[Fin_garantie])>#1/1/2007# And ([Maintenance].[Fin_garantie])<#1/1/2008#));
maintenant tu crées un second formulaire qui pointe sur la requête partiel avec le visuel souhaité.
donne un nom significatif à ce second formulaire
maintenant, sur les 2 textboxs en mode création, fenêtre des propriétés, onglet évènement
ligne après MAJ, choisir Procédure événementiel ...
clic sur l'icon (le bouton) du bout qui a 3 petits points
tu attéris directement dans le module VBA du formulaire !
C'est là que tu va placé le code :
Private Sub tbxDateDebut_AfterUpdate()
Dim ChaineSQL As String, Critere1 As String, Critere2 As String
If ((tbxDateDebut.Text <> "") And (tbxDateFin.Text <> "")) Then
Critere1 = Me.tbxDateDebut.Text
Critere2 = Me.tbxDateFinal.Text
ChaineSQL = "SELECT [Maintenance].[Refmaintenance], [Maintenance].[Numlicence_cle], [Maintenance].[Fin_garantie], [Maintenance].[Fin_extension]"
ChaineSQL = ChaineSQL & " " & "FROM Maintenance "
ChaineSQL = ChaineSQL & "WHERE ((([Maintenance].[Fin_garantie])>" & Critere1 & " "
ChaineSQL = ChaineSQL & "And ([Maintenance].[Fin_garantie])<" & Critere2 & "));"
If (ChangeRequeteDef("nom_de_la_requete", ChaineSQL)) Then
DoCmd.OpenForm "second_formulaire", acNormal, "", "[Champs]", , acNormal
End If
End If
End Sub
'
bon, ça c'est le truc en gros, mais je dois souvent valider la construction de la chaine SQL en mode
pas à pas d'exécution VBA.
Lupin
en fait j'ai rien compri a ce ke tu a di mais c est exactement ske je voudrais faire donc si t encore dans le coin sa peu m interesser merki