====== Compte Rendu de la Mission 1 ====== Maëva Fluteau et Rémi Dubois ==== Objectifs : Réalisation des tâches suivantes : T1.1, T1.4 ==== -__T1.1 Gestion des membres__ : Cette tâche doit permettre la création, la modification et la suppression d’un membre à 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. -__T1.4 Édition des licences__ : Cette tâche doit permettre l’édition de la licence de chaque membre sous le format suivant : === T1.1 Gestion des Membres === Ce travail a été séparé en deux formulaires dans le but de proposer une mise en forme plus cohérente, l'un concerne l'ajout des membres, l'autre leur modification et suppression. == Formulaire d'Ajout == Ce formulaire consiste tout simplement à permettre l'ajout de membres dans la Table "Membre" de la base de donnée en respectant la mise en forme imposée de la mission {{:ppe2.1:equipe1:ajouter.jpg?350|}} Il est composé de plusieurs de plusieurs zones de textes qui sont codifiées : Txt_Nom_Du_Texte et d'une liste déroulante : lst_Nom_De_La_Liste Pour que cette dernière puisse afficher ce que nous souhaitons, ici la liste des clubs, nous lui avons mit en critères la requête suivante : SELECT [CLUB].[NUM_CLUB], [CLUB].[NOM_CLUB] FROM CLUB ORDER BY [NOM_CLUB]; Le bouton "Ajouter" du formulaire permet l'enregistrement des informations saisies par l'utilisateur à condition d'y intégrer un bloc de code VBA pour initialiser cette action. Ce bloc s'apelle : Private Sub Cmd_Ajouter_Click() Afin de garder une cohérence dans les numéros de licence, nous avons tout d'abord imposé leur saisie à 10 caractères, sinon, un message d'erreur apparaît. '----- gestion des erreurs de saisie If Len(Txt_Licence) <> 10 Then MsgBox "Licence Incorrecte, tapez 10 Chiffres", vbExclamation, "Gestion Membre" Txt_Licence.SetFocus 'positionner le curseur sur le champ txt_Nom Exit Sub 'Quitter la procédure End If Ici, nous avons adapté le code à notre formulaire, nous précisons à gauche le nom de la table et des champs qui doivent recevoir les informations saisies du formulaires, qui sont à droite. '----- ajouter la personne dans la table membre Set cMembre = CurrentDb().OpenRecordset("membre") cMembre.AddNew cMembre!NOM_MEMBRE = Txt_Nom cMembre!PRENOM_MEMBRE = Txt_Prénom cMembre!DATE_NAISSANCE = Txt_Date_Naissance cMembre!ADR_VILLE_MEMBRE = txt_Ville cMembre!ADR_RUE_MEMBRE = Txt_Adresse cMembre!CODE_POST_MEMBRE = Txt_Code_Postal cMembre!NUM_LICENCE = Txt_Licence cMembre!NUM_CLUB = Txt_Num_Club cMembre.Update Ce code, une fois le membre ajouté à la base de donnée, va réinitialiser les champs de saisie de façon à les rendre vierge pour une prochaine saisie. 'initialiser les champs Txt_Nom = "": Txt_Prénom = "": Txt_Date_Naissance = "": txt_Ville = "": Txt_Adresse = "": Txt_Code_Postal = "": Txt_Licence = "": Txt_Num_Club = "" A chaque ajout de membre, un message apparaît pour signaler à l'utilisateurt qu'il a bien été ajouté dans la table. MsgBox "Membre ajouté avec succès" Enfin, le bouton "fermer" quand à lui permet à l'utilisateur de fermer le formulaire grâce au code suivant : Private Sub Cmd_Fermer_Click() DoCmd.Close End Sub == Formulaire de Modification == Ce formulaire, à la différence du précédent, permet à l’utilisateur de modifier ou supprimer les données contenues dans la table "Membre" avec toujours impératif de respecter la mise en forme. {{:ppe2.1:equipe1:mofifier.jpg?350|}} Tout comme l'ajout, ce formulaire est composé de champs de texte et de liste déroulantes. à la différence du premier, nous avons ajouté une liste affichants le N° de licence, le nom et le prénom d'un membre, qui a pour but de faciliter la section d'un membre précis dont on souhaite faire afficher les informations en vue d'une modification ou suppression. {{:ppe2.1:equipe1:liste_multiple.jpg?350|}} Pour faire afficher cette liste, il a là aussi fallu intégrer une requête dans les propriétés de la liste, mais pour bien obtenir les trois informations distinctes, il faut préciser dans le format le nombre de colonnes, ici 3. SELECT [MEMBRE].[NUM_LICENCE], [MEMBRE].[NOM_MEMBRE], [MEMBRE].[PRENOM_MEMBRE] FROM MEMBRE ORDER BY [NOM_MEMBRE]; Afin de compléter cette liste déroulante, il est nécessaire d'ajouter un code VBA "After Update" qui, en fonction du membre sélectionné de la liste déroulante, affichera les informations qui lui sont associées. Concernant la liste des clubs, nous avons ajouté un "Values" qui permet d'afficher le nom du club et non pas son numéro pour faciliter la modification des données par l'utilisateurs. Private Sub lst_Licence_AfterUpdate() Dim bdKaraté As Database Dim rsKaraté As Recordset Dim requete As String Set bdKaraté = CurrentDb() requete = "SELECT * FROM MEMBRE WHERE NUM_LICENCE ='" & lst_Licence & "'" Set rsKaraté = bdKaraté.OpenRecordset(requete, DB_OPEN_DYNASET) Txt_Licence = rsKaraté!NUM_LICENCE Txt_Nom = rsKaraté!NOM_MEMBRE lst_Nom_Club.Value = rsKaraté!NUM_CLUB Txt_Prénom = rsKaraté!PRENOM_MEMBRE Txt_Date_Naissance = rsKaraté!DATE_NAISSANCE Txt_Adresse = rsKaraté!ADR_RUE_MEMBRE Txt_Code_Postal = rsKaraté!CODE_POST_MEMBRE txt_Ville = rsKaraté!ADR_VILLE_MEMBRE End Sub Pour qu'on puisse modifier les informations, nous intégrons au bouton "Modifier" du code VBA, il faut là encore préciser les champs de la table qui recevront et sauvegarderont la modification des données. '----- ajouter la personne dans la table membre Set cMembre = CurrentDb().OpenRecordset("membre") cMembre.Edit cMembre!NOM_MEMBRE = Txt_Nom cMembre!PRENOM_MEMBRE = Txt_Prénom cMembre!DATE_NAISSANCE = Txt_Date_Naissance cMembre!ADR_VILLE_MEMBRE = txt_Ville cMembre!ADR_RUE_MEMBRE = Txt_Adresse cMembre!CODE_POST_MEMBRE = Txt_Code_Postal 'cMembre!NUM_LICENCE = Txt_Licence 'le numéro de Licence n'est pas modifiable cMembre!NUM_CLUB = lst_Nom_Club cMembre.Update L'enregistrement se termine avec un message qui confirme le bon déroulement de la modification. MsgBox "Membre modifié avec succès" La dernière étape de ce formulaire consiste à supprimer de la base de donnée un membre, qui se fera grâce au bouton "Supprimer" sur lequel nous avons intégré un code VBA. La requête sélectionne toutes les informations sur membre qui seront ensuite supprimé. Un message indique le bon déroulement de l'opération suivit de la réinitialisation de tous les champs. Private Sub Cmd_Supprimer_Click() Dim bdKaraté As Database Dim rsKaraté As Recordset Dim requete As String Set bdKaraté = CurrentDb() requete = "SELECT * FROM MEMBRE WHERE NUM_LICENCE ='" & lst_Licence & "'" Set rsKaraté = bdKaraté.OpenRecordset(requete, DB_OPEN_DYNASET) rsKaraté.Delete 'initialiser les champs Txt_Nom = "": Txt_Prénom = "": Txt_Date_Naissance = "": txt_Ville = "": Txt_Adresse = "": Txt_Code_Postal = "": Txt_Licence = "": lst_Nom_Club = "": lst_Licence = "" MsgBox "Membre Supprimé avec succès" === T1.4 Édition des licences === L'édition des licences consiste ici à faire une mise en page des membres en fonction du format imposé. Pour se faire, nous avons d'abord créé une mise en page avec le nom des champs de la table à afficher sur la gauche et à droite, le nom du contenu du champs. {{:ppe2.1:equipe1:etat_mode_creation.jpg?350|}} Afin de faire apparaître comme demandé la liste des membres, il faut au préalable créer une requête en cliquant sur la feuille de propriété. Nous avons donc fait la requête suivante : {{:ppe2.1:equipe1:requete_etat.jpg?350|}} Le résultat donne la mise en page suivante : {{:ppe2.1:equipe1:etats.jpg?350|}} Le travail est terminé ==== FIN ====