Fr:Ajouter un Bouton pour Ouvrir un Autre Formulaire

From NeoWiki

Revision as of 08:34, 17 October 2007 by Jgd (Talk | contribs)
Jump to: navigation, search
Cet article fait partie de la série de tutoriels Base Aller et Retour.

Si vous essayez d'ajouter une nouvelle sortie d'observaton qui fait intervenir un site qui n'est pas déjà présent dans la table Sites, vous aurez un message d'erreur. Les nouveaux sites doivent être ajoutés avant d'entrer les données de la sortie. Comme le formulaire Sorties_Observations sera très souvent utilisé et comme il est probable que les utilisateurs oublieront d'enregistrer d'abord les nouveaux sites, nous allons faciliter la tâche de l'utilisateur en ajoutant un bouton au formulaire Sorties_Observations qui ouvrira le formulaire Entrée des données de Sites. Cet article explique comment faire cela.

Créer les Macros Nécessaires

Note: Les macros ci-dessous ont été trouvées sur ce fil de discussion du forum oooforums.org Base. Seuls les noms des formulaires ont été modifiés.

  1. Dans la fenêtre principale de la base de données, cliquez sur Formulaires dans la colonne de gauche.
  2. Faites un clic droit ou Ctrl-clic sur le formulaire Sorties_Observations et choisissez Modifier dans le menu contextuel.
  3. Dans le menu Outils, choisissez Macros, puis Gérer les macros et enfin NeoOffice Basic.
  4. Cliquez sur le bouton Gérer.
  5. Cliquez sur le triangle à gauche de l'icône du document Sorties_Observations
  6. Cliquez sur l'icône de dossier Standard qui apparait.
  7. Cliquez sur le bouton Nouveau ; la fenêtre Nouveau Module apparait.
  8. Donnez un nom au nouveau module. J'ai choisi "BoutonsMacros" (sans guillemets).
  9. Cliquez sur OK
  10. La fenêtre Sorties_Observations.Standard - Basic s'ouvre. Vous verrez les lignes suivantes :
    Sub Main
    End Sub
  11. Cliquez dans l'espace vide sous la ligne "End Sub".
  12. Entrez le code suivant :
    REM Macro nécessaire pour ouvrir un formulaire quelconque function OpenForm( formContainer as variant, oConnection as variant, sFormName as string) as variant Dim aProp(1) As New com.sun.star.beans.PropertyValue aProp(0).Name = "ActiveConnection" aProp(0).Value = oConnection aProp(1).Name = "OpenMode" aProp(1).Value = "open" OpenForm = formContainer.loadComponentFromURL(sFormName,"_blank",0,aProp()) end function function getFormsTC() as variant getFormsTC = thisComponent.Parent.getFormDocuments end function function getConnectionTC() as variant getConnectionTC = thisComponent.Drawpage.Forms(0).ActiveConnection end function REM Macro ouvrant le formulaire particulier 'Entrée des données de Sites'. Il faut une macro pour chaque formulaire que vous voulez ouvrir depuis un autre formulaire. sub Open_Form_Entree_donnees_Sites( oev as variant ) sFormName = "Entrée des données de Sites" OpenForm( getFormsTC, getConnectionTC, sFormName ) end sub
  13. Note: le code sous REM Macro nécessaire pour ouvrir un formulaire quelconque ne doit être entré qu'une seule fois dans le Module. Si vous ajoutez des boutons pour ouvrir d'autres formulaires, tout ce que vous aurez à faire sera de copier le code sous REM Macro ouvrant le formulaire particulier et modifier le nom dans les deux premières lignes pour les remplacer par celui du formulaire que vous voulez ouvrir. Dans la première ligne, qui commence par sub OpenForm, vous ne devez pas utiliser d'espaces, ni de caractères accentués, dans le nom de la macro. Remplacez les espaces par un signe de soulignement, ou accolez les mots : (EntreeDonneesSites).
  14. Cliquez sur le bouton Enregistrer de la barre d'outils (représentant un disque dur).
  15. Fermez la fenêtre.

--> Note: Ce tutoriel vous fait enregistrer la macro dans le document. Il est possible de l'enregistrer dans un module de "Mes Macros". Mais si vous copiez ou déplacez le document sur un autre ordinateur, le formulaire ne pourra pas trouver la macro. L'enregistrer dans le document assure que la macro sera toujours disponible dans la base de données.

Ajouter le Bouton

  1. Le formulaire Sorties_Observations étant encore ouvert, vérifiez que la barre d'outils de contrôles de formulaires est visible. Si elle ne l'est pas, allez dans le menu Affichage et choisissez Barres d'outils puis Contrôles de formulaires.
  2. Cliquez l'icône Bouton dans cette barre d'outils.
  3. Déplacez la souris jusqu'à l'endroit du formulaire où vous voulez placer le bouton. J'ai choisi une place proche du titre "Site".
  4. Cliquez et glissez le curseur pour créer le bouton.
  5. Double-cliquez sur le bouton pour ouvrir la fenêtre Propriétés : Bouton.
  6. Sous l'ongletGénéral, faites les changements suivants :
    1. Donnez au bouton un Nom explicite. Je l'ai appelé "Ouvrir le formulaire de Sites".
    2. Donnez au bouton un Titre qui apparaîtra sur le bouton. J'ai entré "Nouveau Site" (sans guillemets).
    3. Réglez Tabstop sur "Non." De cette façon, le bouton ne peut pas être sélectionné à l'aide de la touche de tabulation . Laissez cette option sur Oui si vous voulez qu'il puisse l'être.
    4. Vers le bas, entrez un Texte d'aide explicite. Ce texte apparaîtra dans une bulle d'aide lorsque vous passerez le curseur au-dessus du bouton, si vous n'avez pas désactivé cette option.
  7. Dans l'onglet Événements, cherchez la ligne intitulée Bouton de souris enfoncé.... Cliquez sur le bouton ... à droite du champ d'édition sur la même ligne. La fenêtre Assigner une action s'ouvre.
  8. Vérifiez que la ligne Bouton de souris enfoncé est sélectionnée. Sinon sélectionnez-la.
  9. Cliquez sur le bouton Macro...
  10. Dans la fenêtre Sélecteur de macro, cliquez sur le petit triangle à gauche de l'icône du document Sorties_Observations.
  11. Cliquez sur le petit triangle à gauche de l'icône du dossier Standard.
  12. Cliquez sur l'icône du dossier BoutonsMacros.
  13. Dans la colonne Nom de la macro, sélectionnez la macro appelée Open_Form_Entree_donnees_Sites.
  14. Cliquez sur OK.
  15. Fermez la fenêtre Assigner une action en cliquant sur OK.
  16. Fermez la fenêtre Propriétés : Bouton.
  17. Cliquez sur l'icône(Dés)activer le mode Conception (le triangle bleu)
  18. Cliquez le nouveau bouton, et vérifiez que le formulaire Entrée des données de Sites s'ouvre.


Cet article dans d'autres langues : English
Personal tools