Cours programmation Access

Précédente      Contenu     Suivante
Formulaires et macros






Ouvrir un formulaire à partir d'un autre formulaire


  • Exemple: lorsque je suis dans le formulaire Films, je veux ouvrir un formulaire qui liste les clients qui ont loué ce film


    Fig. 13-1


    • D'abord créer une requête, Location_par_clients, montrant le nom, l'adresse, etc. - il faut que la requête contienne aussi le numéro de film, ld_film afin de pouvoir le sélectionner plus loin

    • Créer un formulaire simple basé sur la requête Clients_qui_louent_film

    • Créer la macro pour le formulaire Films

    • Dans la macro, ajouter une ligne pour le bouton Louer qui ouvrira le formulaire créé

    • Le formulaire Clients_qui_louent_film qu'on ouvrira affichera tous les films loués - ce n'est pas ce qu'on veut: on veut voir seulement les films qui correspondent au numéro de film dans la fenêtre ouverte en ce moment dans le formulaire Films - il faut que le numéro de film dans le formulaire qu'on est en train d'ouvrir soit le même que le numéro de film dans le formulaire Films ouvert en ce moment - la façon de faire cela est d'écrire la Condition Where dans la macro comme ceci:
      [ld_film] = Formulaires![Films]![f_numero]
      On obtient la formule en utilisant le Générateur d'expression

    • Créer le bouton Louer dans le formulaire Films et y associer la macro Films.louer



    Fig. 13-2




    Fig. 13-3


Autres propriétés


  • Une macro peut être invoquée à partir de plusieurs propriétés d'un objet et non seulement "Sur clic"

  • Par exemple: dans les propriétés du Formulaire on retrouve:
    Sur ouverture - activée quand on ouvre le formulaire
    Sur fermeture - activée quand on ferme le formulaire
    Sur activation - quand on change d'enregistrement dans le formulaire
    Pour chacune de ces propriétés on pourrait avoir une macro

  • Par exemple: dans le formulaire Films on a ajouté un bouton pour Clients qui louent film; mais lorsqu'on ajoute un nouveau film dans le formulaire, le bouton ne sert à rien (le film n'a jamais été loué puisqu'il est neuf); donc, on veut désactiver le bouton (la légende du bouton devient grise et le Sur clic n'a pas d'effet) pour que l'utilisateur ne le clique pas par erreur

    • Dans la macro on ajoute une nouvelle colonne avec le bouton Condition

    • On crée une nouvelle ligne et on lui donne le nom: SurActivation (car on va l'associer à la propriété Sur activation du formulaire)

    • La condition est: [f_numero] est Null (lors de l'ajout d'un nouveau film Sur activation est invoquée en passant à un formulaire vide donc, il n'y a pas de numéro de film)

    • L'action est: DéfinirValeur et les arguments sont:
      Élément: [Louer].[Activé]
      Expression: Non
      On assigne la valeur "Non" à la propriété "Activé" de l'objet "Louer"

    • Il faut aussi spécifier la macro pour la condition: [f_numero] est Pas Null - dans ce cas on veut que [Louer].[Activé] soit "Oui"

    • Dans la propriété Sur activation du formulaire Films, on ajoute le nom de la macro: Films.SurActivation


Fig. 13-4

Fig. 13-5









Haut de la page