Bonjour,
J'ai suivi à la lettre le tuto de Caféine pour faire un formulaire de recherche multi-critères (enfin... j'ai permuté l'affichage "visible" des boîtes à cocher), ça marche nickel.
Mais je n'arrive pas à imprimer le résultat du filtre dans un état.
Portions de code "signifiantes" du tuto :
J'ai crée un état à partir de la table "Test" avec tous les contrôles identiques à ceux du filtre (ils contiennent les noms des champs). Sur le bouton "Imprimer" du formulaire, j'ai ce code :
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 Private Sub RefreshQuery() Dim SQL As String Dim SQLWhere As String SQL = "SELECT ID_Test,TestID_Produit,TestDate3en1,agsem1,agsem4,cusem1,cusem4,pbsem1,pbsem4, TestDateBritishMuseum,AcidesorgBritishMu,AldehydesBritishMu,ChloreBritishMu,SoufreBritishMu,pHaqueuxBritishMu,pHdesurfaceBritishMu FROM Test WHERE Test!ID_Test<>0" If Me.chkAgSem1 Then SQL = SQL & "And Test!agsem1 ='" & Me.cboAgSem1 & "'" End If ... SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1)) SQL = SQL & ";" Me.lstResultat.RowSource = SQL Me.lstResultat.Requery End Sub
Evidemment (?), comme je n'ai pas vraiment compris où était le filtre (oui, oui, je sais...), j'ai essayé avec SQLWhere et ça ne marche pas mieux. L'état s'imprime mais avec tous les résultats.
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 Private Sub btnImprimerFiltreTests_Click() Dim stDocName As String Dim SQL As String stDocName = "eMultiTests" SQL = Me.Filter DoCmd.OpenReport "eMultiTests", , , SQL Exit_btnImprimerFiltreTests_Click: Exit Sub Err_btnImprimerFiltreTests_Click: MsgBox Err.Description Resume Exit_btnImprimerFiltreTests_Click End Sub
Du côté de l'état, il n'y a aucun code...
Merci du coup de main (c'est ma première base et .... c'est très dur !)
Partager