Bonjour,
J'ai farfouille sur internet pour trouver un code qui permette a l'utilisateur de selectionner des dates (start date et end date) qui filtreraient les resultats d'une requete (pour faire un Etat). J'ai trouve un tutoriel de bonne qualite, mais tout est en anglais et cela ne rend pas les choses faciles.
J'ai une table dans laquelle je rentre des "actions" et ma table grossit au fur et a mesure. Certaines de ces "actions" deviennent obsoletes, d'ou l'interet de cette requete.
J'ai cree un formulair avec 2 textbox dans lesquelles l'utilisateur rentre les donnees (date de debut et de fin). Il y a aussi un bouton de commande
Seulement je n'arrive pas a customiser le code pour qu'il fonctionne dans mon cas.
Voici le code en question (pas ecrit par moi bien sur), mais si je comprends de quoi il s'agit:
Le champ qui me pose probleme en particlier est
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 Private Sub cmdPreview_Click() 'On Error GoTo Err_Handler 'Remove the single quote from start of this line once you have it working. Dim strReport As String Dim strDateField As String Dim strWhere As String Dim lngView As Long Const strcJetDate = "\#mm\/dd\/yyyy\#" 'Do NOT change it to match your local settings. 'DO set the values in the next 3 lines. strReport = "rptMy_Cart" 'Put your report name in these quotes. strDateField = "qryInterest_MyCart.[Date]" 'Put your field name in the square brackets in these quotes. lngView = acViewPreview 'Use acViewNormal to print instead of preview. 'Build the filter string. If IsDate(Me.txtStartDate) Then strWhere = "(" & strDateField & " >= " & Format(Me.txtStartDate, strcJetDate) & ")" End If If IsDate(Me.txtEndDate) Then If strWhere <> vbNullString Then strWhere = strWhere & " AND " End If strWhere = strWhere & "(" & strDateField & " < " & Format(Me.txtEndDate + 1, strcJetDate) & ")" End If 'Close the report if already open: otherwise it won't filter properly. If CurrentProject.AllReports(strReport).IsLoaded Then DoCmd.Close acReport, strReport End If 'Open the report. 'Debug.Print strWhere 'Remove the single quote from the start of this line for debugging purposes. DoCmd.OpenReport strReport, lngView, , strWhere Exit_Handler: Exit Sub Err_Handler: If Err.Number <> 2501 Then MsgBox "Error " & Err.Number & ": " & Err.Description, vbExclamation, "Cannot open report" End If Resume Exit_Handler End Sub
Je ne suis pas sure que j'ai correctement rentre cela (?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part strDateField = "qryInterest_MyCart.[Date]" 'Put your field name in the square brackets in these quotes.
Est-ce que quelqu'un voit ou est l'erreur?
Merci d'avance







Répondre avec citation
Partager