**Objectifs :** Réalisation des tâches suivantes : T2.4, T2.8. - T2.4 Affectation des entraîneurs comme membre du jury: Cette tâche doit permettre la saisie, la modification et la suppression de l’affectation d’un entraîneur à une compétition à partir d’un formulaire. Il faudra réaliser la maquette de ce formulaire, le faire valider par le chef de projet avant de commencer le codage. Prévoir tous les contrôles nécessaires. Voici le formulaire qui comprend toutes les tâches : {{ :ppe2.1:equipe6:1.jpg?nolink&900 |}} On sélectionne d'abord le numéro de la compétition dans la liste déroulante NUM_COMPETITION et appuyons sur le Bouton recherché afin d'afficher les entraineurs non jury dans la liste ENTRAINEUR et les ENTRAINEUR qui sont JURY dans la liste JURY Code VBA du bouton rechercher //Private Sub Rechercher_Click()\\ Dim bdComp As Database\\ Dim rsComp As Recordset\\ Dim req As String\\ Dim req2 As String\\ Set bdComp = CurrentDb\\ requerery_liste\\ End Sub\\ // Afin d'affecter une entraineur à un jury ou de le supprimer de son poste de jury, nous avons créé un évènement sur click\\ Code VBA sur la Liste Entraineur afin de l'affecter à un jury\\ \\ //Private Sub ListeEntraineur_Click()\\ Dim bdComp As Database\\ Dim rsjuge As Recordset\\ Set bdComp = CurrentDb\\ Dim req\\ Dim rsmaxj As Recordset\\ req = "select max(num_jury) as numJ from juge where num_competition=" & ListeComp\\ Set rsmaxj = bdComp.OpenRecordset(req)\\ Dim numJ\\ numJ = 0\\ If IsNull(rsmaxj!numJ) = False Then numJ = rsmaxj!numJ\\ Set rsjuge = bdComp.OpenRecordset("juge", DB_OPEN_DYNASET)\\ rsjuge.AddNew\\ rsjuge!NUM_ENTRAINEUR = ListeEntraineur.Value\\ rsjuge!NUM_COMPETITION = ListeComp.Value\\ rsjuge!NUM_JURY = numJ + 1\\ rsjuge.Update\\ ListeEntraineur.Requery\\ ListeJury.Requery\\ End Sub//\\ Code VBA sur la Liste Jury afin de le supprimer du jury\\ \\ //Private Sub ListeJury_Click()\\ Dim bdComp As Database\\ Dim rsentr As Recordset\\ Set bdComp = CurrentDb\\ CurrentDb.Execute "DELETE * FROM JUGE WHERE NUM_COMPETITION=" & ListeComp & " AND NUM_ENTRAINEUR=" & ListeJury.Column(1)\\ ListeEntraineur.Requery\\ ListeJury.Requery\\ End Sub//\\ - T2.8 Édition d’un état récapitulatif de la compétition: Cette tâche doit permettre l’affichage d’un état récapitulatif. Ce document doit faire apparaître : * le nombre de compétiteurs ayant obtenu un total inférieur à 24 * le nombre de compétiteurs ayant obtenu un total compris entre 24 et 27 * le nombre de compétiteurs ayant obtenu un total supérieur à 27 * la moyenne des notes proposées par juge. {{ :ppe2.1:equipe6:3.jpg?nolink&900 |}} On peut voir la liste de notes avec les notes de chaque participants à la compétition. Dans la zone de liste nb comp<24 il y a 2 lignes donc deux participants qui ont une notes <24 Voici la requête VBA associé //SELECT Count(MEMBRE.NOM_MEMBRE) AS CompteDeNOM_MEMBRE\\ FROM MEMBRE INNER JOIN [NOTE] ON MEMBRE.[NUM_LICENCE] = NOTE.[NUM_LICENCE]\\ GROUP BY MEMBRE.NOM_MEMBRE\\ HAVING (((Sum([NOTE].[NOTE])-Max([note])-Min([note]))<24));\\ // Dans la zone de liste nb comp entre 24 et 27 Voici la requête VBA associé //SELECT Count(MEMBRE.NOM_MEMBRE) AS CompteDeNOM_MEMBRE\\ FROM MEMBRE INNER JOIN [NOTE] ON MEMBRE.[NUM_LICENCE] = NOTE.[NUM_LICENCE]\\ GROUP BY MEMBRE.NOM_MEMBRE\\ HAVING (((Sum([NOTE].[NOTE])-Max([note])-Min([note]))Between 24 And 27));\\ // Dans la zone de liste nb comp>27 il y a 2 lignes donc deux participants qui ont une notes >27 \\ Voici la requête VBA associé\\ //SELECT Count(MEMBRE.NOM_MEMBRE) AS CompteDeNOM_MEMBRE\\ FROM MEMBRE INNER JOIN [NOTE] ON MEMBRE.[NUM_LICENCE] = NOTE.[NUM_LICENCE]\\ GROUP BY MEMBRE.NOM_MEMBRE\\ HAVING (((Sum([NOTE].[NOTE])-Max([note])-Min([note]))>27));\\ // Nous n'avons pas réussis a créer une requête exacte afin de faire ce travail donc la requête que nous avons créé permet d'afficher un certain nombre de ligne qui est la valeur du résultat