Introduction

Mission : 4

Objectifs : Réalisation des tâches suivantes : T2.1, T2.2.

T2.1 Gestion des compétitions : Cette tâche doit permettre la création, la modification et la suppression d’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.

T2.2 Édition du calendrier des compétitions pour la saison en cours. Cette tâche doit permettre l’affichage du calendrier. Le document souhaité devra présenter le détail des compétitions (date et lieu) triées par date croissante.

Compte rendu

Interface

Formulaire d'ajout

Ce formulaire est composé d'une liste des clubs (lstClub), d'un champ de date (TxtDate), et de deux boutons : Ajouter (CmdAjouter) et Fermer (CmdFermer). Le bouton Ajouter est verrouillé tant que l'on n'a pas renseigné tous les champs.

Formulaire de modification et suppression

Ce formulaire est composé d'une liste des compétitions (cmbDate), de deux champs de texte (TxtNumClub et TxtDateCompet), et de trois boutons (CmdModifier, CmdSupprimer et CmdQuitter). Pour modifier une date, il faut sélectionner une compétition puis un club, inscrire la nouvelle date dans le dernier champ, puis cliquer sur le bouton Modifier. Pour supprimer une compétition, il suffit de la sélectionner dans la liste puis de cliquer sur le bouton Supprimer.

Calendrier

Code source

Formulaire d'ajout

Cmd_Ajouter_Click

Dim bdKarate As Database Dim rsCompetition, rsIDcomp As Recordset Dim requete As String Set bdKarate = CurrentDb() Set rsCompetition = bdKarate.OpenRecordset("COMPETITION", DB_OPEN_DYNASET) requete = "SELECT (MAX(NUM_COMPETITION)+1) AS id FROM COMPETITION" Set rsIDcomp = bdKarate.OpenRecordset(requete) rsCompetition.AddNew rsCompetition!NUM_CLUB = cmb_Club rsCompetition!DATE_COMPETITION = Txt_Date rsCompetition!NUM_COMPETITION = rsIDcomp!id rsCompetition.Update

Cmd_Fermer_Click

DoCmd.Close

cmb_Club_Click

Cmd_Ajouter.Enabled = True

Formulaire de modification et suppression

cmb_Date_Click

Cmd_Supprimer.Enabled = True Cmd_Modifier.Enabled = True Txt_NumClub.Enabled = True Txt_DateCompet.Enabled = True

Cmd_Modifier_Click

Dim bdKarate As Database Dim rsCompet As Recordset Dim requete As String Dim quitter Set bdKarate = CurrentDb requete = "SELECT * FROM COMPETITION WHERE NUM_COMPETITION=" & cmb_Date Set rsCompet = bdKarate.OpenRecordset(requete, DB_OPEN_DYNASET) // Ce sont les arguments à utiliser pour cette MsgBox // 16 = message "critique", important quitter = MsgBox("Modifier la compétition ?", 16 + 4 + 256, "Attention") // <- 4 = question oui ou non // 256 -> "Non" est le bouton par défaut If quitter = 6 Then rsCompet.Edit rsCompet!NUM_CLUB = Txt_NumClub rsCompet!DATE_COMPETITION = Txt_DateCompet rsCompet.Update MsgBox ("Modification effectuée") Txt_NumClub.Value = "" Txt_DateCompet.Value = "" End If

Cmd_Quitter_Click

DoCmd.Close

Cmd_Supprimer_Click

Dim bdKarate As Database Dim rsJuge As Recordset Dim requete As String Dim quitter quitter = MsgBox("Supprimer la compétition ?", 16 + 4 + 256, "Attention") If quitter <> 6 Then Exit Sub Set bdKarate = CurrentDb requete = "SELECT * FROM JUGE WHERE NUM_COMPETITION=" & cmb_Date Set rsJuge = bdKarate.OpenRecordset(requete, DB_OPEN_DYNASET) If Not rsJuge.EOF Then MsgBox ("Avertissement : au moins un juge et un entraineur ont été affectés à cette compétition.") End If DoCmd.RunSQL "DELETE * FROM COMPETITION WHERE NUM_COMPETITION=" & cmb_Date MsgBox ("Suppression effectuée") Txt_NumClub.Value = "" Txt_DateCompet.Value = ""