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 44 45 46 47
| 'On retourne les valeurs filtrées
strSQL = "SELECT Portefeuille, Marché, [Ss - Jacent], [SommedeNb Opé], [SommedeNombre de lot], [Date Opération]" _
& "FROM [Recap Deals]" _
& " WHERE (Portefeuille Like '" & vZoneListe1 & "%' " _
& " And Marché like '" & vZoneListe2 & "%')"
'Sur le Groupe d'option Time Period
Select Case Me.ChoixTimePeriod
Case Is = 1 'regroupement par jour / Date
strSQLTimePeriod = " WHERE format([Date Opération], 'yymmdd') ='" & Format(Me.TxtDateDébut, "yymmdd") & "'"
Case Is = 2 'regroupement par mois
strSQLTimePeriod = " WHERE month([Date Opération]) =" & Month(Me.TxtDateDébut)
Case Else 'regroupement par année
strSQLTimePeriod = " WHERE year([Date Opération]) =" & Year(Me.TxtDateDébut)
End Select
'Sur Date Début
If TxtDateDébut <> "" Then
strSQLDateDébut = " AND ([Date Opération]>=" & DateAuFormatUS(Me.TxtDateDébut) & ")"
'Else
'strSQLDateDébut = " WHERE ([Date Opération]>=" & DateAuFormatUS(Me.TxtDateDébut) & ")"
End If
'Sur Date Fin
If TxtDateFin <> "" Then
If TxtDateFin >= TxtDateDébut Then
If strSQLDateDébut <> "" Then
strSQLDateFin = " AND ([Date Opération]<=" & DateAuFormatUS(Me.TxtDateFin) & ")"
Else
strSQLDateFin = " WHERE ([Date Opération]<=" & DateAuFormatUS(Me.TxtDateFin) & ")"
End If
Else
MsgBox ("La Date de fin ne peut pas être inférieure à la date de début")
Me.TxtDateFin.Value = Me.TxtDateDébut.Value
End If
End If
'Rassemblement des variables pour constituer le SQL
strSQL = strSQL & strSQLTimePeriod & strSQLDateDébut & strSQLDateFin
Me.SF_Recap.Form.RecordSource = strSQL |
Partager