Super, merci pour la réponse !
Je tente de modifier la macro Filtrer afin qu'elle m'affiche l'ensemble des personnels qui ont participé à un séance avec le type d'arme sélectionné. Je pense que je dois modifier la manière de construire la fonction, mais je suis bloqué sur la compréhension exacte de la fonction. Pour l'instant, si je ne spécifie pas de personnel, je ne peux rien obtenir de plus.
Code : Tout sélectionner
Sub Filtrer(oEv as Object)
Dim oForm as Object, fPersonnel as Object,fArmes as Object, fMois as Object
Dim strSQL as String, maDate
oForm = oEv.Source.Model.Parent
fPersonnel = oForm.getByName("lstPers")
fArmes = oForm.getByName("lstArme")
fMois = oForm.getByName("Mois")
strSQL = "SELECT CONCAT( CONCAT( ""Nom"", ' ' ), ""Prenom"" ) ""Militaire"",""tSeanceTir"".""Date"", ""tArmes"".""Arme"", ""tSeanceTir"".""Nombre de cartouches"", ""tSeanceTir"".""Observation"", ""tSeanceTirPers"".""Obs"", ""tTypeSeanceTir"".""TypeSeanceTir"" FROM ""tSeanceTirPers"", ""tSeanceTir"", ""tTypeSeanceTir"", ""tArmes"", ""tPersonnels"" WHERE ""tSeanceTirPers"".""RefSeanceTir"" = ""tSeanceTir"".""IDséance"" AND ""tSeanceTir"".""refSeanceTypeTir"" = ""tTypeSeanceTir"".""IDtypesenceTir"" AND ""tSeanceTir"".""Arme"" = ""tArmes"".""ID"" AND ""tSeanceTirPers"".""RefPersTir"" = ""tPersonnels"".""NIGEND"""
Select Case oEv.Source.Model.Name
Case "cmdAfficher"
strSql = strSQL
fPersonnel.SelectedItems = Array()
fArmes.SelectedItems = Array()
fMois.Text = ""
Case Else
If fPersonnel.CurrentValue <> "" Then
StrSQL = strSQL & " AND CONCAT( CONCAT( ""Nom"", ' ' ), ""Prenom"" ) =" & Apos(fPersonnel.CurrentValue)
End If
If fArmes.CurrentValue <> "" Then
strSQL = StrSQL & " AND ""tArmes"".""Arme"" =" & Apos(fArmes.CurrentValue)
End If
If Not isEmpty(fMois.CurrentValue) Then
maDate = DateAdd("m",-fMois.CurrentValue,Date())
strSQL = strSQL & " AND ""tSeanceTir"".""Date"" BETWEEN " & DateUS(maDate) & " AND " & DateUS(Date())
End If
End Select
oForm.Command = strSQL
oForm.Reload
End Sub
Que renvoie ce code exactement ?
Code : Tout sélectionner
StrSQL = strSQL & " AND CONCAT( CONCAT( ""Nom"", ' ' ), ""Prenom"" ) ="
Merci