Mission : 4
Objectifs : Réalisation des tâches suivantes : T2.1, T2.2.
Ce formulaire est composé d'une liste des clubs (lst_Club), d'un champ de date (Txt_Date), et de deux boutons : Ajouter (Cmd_Ajouter) et Fermer (Cmd_Fermer). Le bouton Ajouter est verrouillé tant que l'on n'a pas renseigné tous les champs.
Ce formulaire est composé d'une liste des compétitions (cmb_Date), de deux champs de texte (Txt_NumClub et Txt_DateCompet), et de trois boutons (Cmd_Modifier, Cmd_Supprimer et Cmd_Quitter). 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.
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
DoCmd.Close
Cmd_Ajouter.Enabled = True
Cmd_Supprimer.Enabled = True Cmd_Modifier.Enabled = True Txt_NumClub.Enabled = True Txt_DateCompet.Enabled = True
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
DoCmd.Close
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 = ""