Faq/Base/146/fr

From The Document Foundation Wiki
< Faq‎ | Base
Jump to navigation Jump to search

Comment créer un formulaire Menu et ouvrir les autres formulaires par clics sur des boutons ?

La première étape consiste à créer tous les formulaires de la Base et un formulaire Menu avec les boutons (contrôle PushButton) qui, par clic, ouvriront les autres formulaires.

Écrire et enregistrer une Macro pour chaque formulaire à ouvrir

Par exemple, pour ouvrir le formulaire "Nom_du_formulaire", le code de la Macro est :

1Sub OuvrirFormulaireParSonNom
2'**********************************************************************************************
3'Ouvre le formulaire nommé
4'==============================================================================================
5ThisDatabaseDocument.FormDocuments.getByName( "Nom_du_Formulaire" ).open
6End Sub

En pratique, si la Base a deux formulaires Formulaire1 et Formulaire2, il faudra donc deux Macros :

 1Sub OuvrirFormulaire1
 2'**********************************************************************************************
 3'Ouvre le formulaire nommé Formulaire1
 4'==============================================================================================
 5ThisDatabaseDocument.FormDocuments.getByName( "Formulaire1" ).open
 6End Sub
 7
 8Sub OuvrirFormulaire2
 9'**********************************************************************************************
10'Ouvre le formulaire nommé Formulaire2
11'==============================================================================================
12ThisDatabaseDocument.FormDocuments.getByName( "Formulaire2" ).open
13End Sub

Écrire et enregistrer une seule Macro utilisée pour l’ouverture de tous les formulaires

Le code de la Macro :

 1Sub OuvrirFormulaireParTag(evt As Object)
 2'**********************************************************************************************
 3' Lancée par l'appui sur un bouton
 4' Permet l'ouverture d'un formulaire dont le nom est renseigné dans le champ
 5' "Complément d'information" du bouton
 6'==============================================================================================
 7Dim oForms As Object
 8Dim sNomForm As String
 9    sNomForm = evt.Source.Model.tag
10    oForms = ThisComponent.Parent.FormDocuments
11    IF oForms.hasByName(sNomForm)  Then
12        oForms.getByName(sNomForm).open
13    Else
14        MsgBox("Formulaire inconnu : " & sNomForm, 16)
15    End IF
16End Sub

La Base exemple avec ses formulaires Menu, Formulaire1 et Formulaire2 ouverts par tag.