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
|
Dim sql As String, ClauseHAVING As String
sql = "SELECT tblReponseGestionnaire.Causedelacause,tblReponseGestionnaire.Gestionnaire,tblReponseGestionnaire.DateReponseMail,tblReponseGestionnaire.DateEnvoiMail,tblReponseGestionnaire.DateRéception,tblReponseGestionnaire.QtéRéceptionnée,tblReponseGestionnaire.Commentaire,Sum(tblHistoriqueMàJ.QteOrdre)AS SommeDeQteOrdre" & vbCrLf
sql = sql & "FROM tblReponseGestionnaire" & vbCrLf
sql = sql & "INNER JOIN tblHistoriqueMàJ ON tblReponseGestionnaire.Causedelacause = tblHistoriqueMàJ.Causedelacause" & vbCrLf
sql = sql & "GROUP BY tblReponseGestionnaire.Causedelacause,tblReponseGestionnaire.Gestionnaire,tblReponseGestionnaire.DateReponseMail,tblReponseGestionnaire.DateEnvoiMail,tblReponseGestionnaire.DateRéception,tblReponseGestionnaire.QtéRéceptionnée,tblReponseGestionnaire.Commentaire"
'Aménager la clause Where
If Not Me.chkCauseDeLaCause Then
ClauseHAVING = ClauseHAVING & "And tblReponseGestionnaire.Causedelacause = '" & Me.cmbCauseDeLaCause & "' "
End If
If Not Me.chkDateCauseDeLaCause Then
ClauseHAVING = ClauseHAVING & "And tblReponseGestionnaire.DateEnvoiMail = '" & Me.cmbDateCauseDeLaCause & "' "
End If
If Not Me.chkGestionnaire Then
ClauseHAVING = ClauseHAVING & "And tblReponseGestionnaire.Gestionnaire = '" & Me.cmbGestionnaire & "' "
End If
Select Case Me.TypeRetard1
Case 1
ClauseHAVING = ClauseHAVING & "And tblReponseGestionnaire.DateReponseMail Is Null"
Case 2
ClauseHAVING = ClauseHAVING & "And tblReponseGestionnaire.DateReponseMail Is not Null"
End Select
If Len(ClauseHAVING) = 0 Then
GoTo AménagerLaQueueSQL
Else
' supprimer le 1er And et Aménager la tête de clause
ClauseHAVING = " HAVING " & Right(ClauseHAVING, Len(ClauseHAVING) - 3)
sql = sql & ClauseHAVING
End If
AménagerLaQueueSQL:
sql = sql & ";"
'Debug.Print sql
Me.Sfrm.Form.RecordSource = sql |
Partager