Initiation aux bases de données et à la programmation événementielle Cours N°7 : Introduction aux formulaires et contrôles liés à des relations. Support de cours de Soheib BAARIR*. Page web : pagesperso-systeme.lip6.fr/Souheib.Baarir/bdvba/support.htm E-mail : souheib.baarir@u-paris10.fr Université Paris Ouest Nanterre la Défense. 2009-2010. * Adapté du cours de B. COFFIN. Reproduction interdite sans autorisation écrite de l’auteur.
Consultation des données d’une BD Une première interface : une feuille de données. c’est une interface « basique » (un tableau), affichant l’ensemble des enregistrements produits par l’exécution d’une requête SQL d’interrogation (SELECT ….. ). Rudimentaire. Purement manuel. Problèmes d’inconsistance.
Les formulaires et les contrôles liés (1/2) Une deuxième interface : Les formulaires et les contrôles élaborés, ergonomiques, et fortement automatisable. Un formulaire lié à la relation produite par la requête, Req : SELECT * FROM Etudiant Bar de navigation pour se déplacer entre les enregistrements. Un contrôle zone de texte lié au champ « Nom » de la relation produite par Req.
Les formulaires et les contrôles liés (2/2) Traitements SGBD Interfaces de visualisation BDR Moteurs d’Interprétation Moteur de BD Requêtes SQL Programmes VBA Éditeur Graphique
Lier un formulaire Un formulaire est objet (instance) de la classe FORM. Il a plusieurs propriétés, méthodes et gestionnaires d’évènements. Propriétés : Source,… Méthodes : Requery,… Lier un formulaire à une relation ? Ce qu’il affiche correspond à une relation. Pour ce faire, il faut affecter à la propriété Source une requête SQL dont l’exécution calcule la relation que l’on veut afficher et/ou modifier.
Lier un formulaire : exemple Ouvrir un nouveau formulaire en « mode création » Le formulaire « Formulaire1 » est dit, ainsi, lié à la relation produite par la requête : SELECT * FROM Etudiant
Lier un contrôle d’un formulaire Un contrôle, c’est quoi ? C’est un objet que l’on peut insérer dans un formulaire : une étiquète, une zone de texte, une zone de liste,... Pourquoi le lier ? Pour afficher et/ou modifier les enregistrements de la relation liée au formulaire. Comment le lier ? En lui associant un des champs de la relation liée au formulaire. Sert-il à autre chose ? À contrôler la relation liée au formulaire (cas d’un contrôle indépendant). À déclencher l’exécution automatique d’une série d’actions. …
Le Formulaire en « mode formulaire » Lier un contrôle d’un formulaire : exemple Le Formulaire en « mode formulaire »
Un contrôle indépendant d’un formulaire Un contrôle indépendant sert, généralement, à paramétrer la close WHERE de la requête associée au formulaire. Par exemple, la construction d’un formulaire tel que son affichage s’adapte automatiquement, suivant la valeur saisie par l’utilisateur. Nécessite de changer dynamiquement la relation liée au formulaire. En particulier, une clause WHERE qui s’adapte au besoin.
Un contrôle indépendant d’un formulaire : exemple Nom formulaireetudiantbis Nom ztformation SELECT * FROM Etudiant INNER JOIN Formation ON Etudiant.[Réf formation]=Formation.[N° Formation] Source du formulaire Private Sub ztformation_AfterUpdate() Forms!formulaireetudiantbis.RecordSource = _ "SELECT * FROM Etudiant INNER JOIN Formation ON " & _ "Etudiant.[Réf formation]=formation.[N° Formation] " & _ "WHERE Forms!formulaireEtudiantbis!ztformation=[Libellé formation]" Forms!formulaireetudiantbis.Requery End Sub
Démo sur ACCESS