Table des matières

Introduction

Mission : 4

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

Compte rendu

Interface

Formulaire d'ajout

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.

Formulaire de modification et suppression

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.

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 = ""