4D v16.3

Table du formulaire courant

Accueil

 
4D v16.3
Table du formulaire courant

Table du formulaire courant 


 

Table du formulaire courant -> Résultat 
Paramètre Type   Description
Résultat  Pointeur in Pointeur vers la table à laquelle appartient le formulaire actuellement affiché

La fonction Table du formulaire courant retourne un pointeur vers la table à laquelle appartient le formulaire affiché à l'écran ou imprimé dans le process courant.

La fonction retourne Nil dans les cas suivants :

  • il n'y a pas de formulaire affiché ou en cours d'impression dans le process courant,
  • le formulaire courant est un formulaire projet.

Si plusieurs fenêtres sont ouvertes simultanément dans le process courant (ce qui signifie que la dernière fenêtre ouverte est la fenêtre courante active), la fonction retourne un pointeur vers la table du formulaire affiché dans la fenêtre active.

Si le formulaire affiché est le formulaire détaillé d'une zone de sous-formulaire (c'est-à-dire que pendant la saisie de données, l'utilisateur a double-cliqué sur un enregistrement ou un sous-enregistrement dans une zone de sous-formulaire "double-cliquable"), la fonction retourne :

  • un pointeur vers la table de la zone de sous-formulaire, si cette dernière affiche une table.
  • un pointeur non significatif si la zone de sous-formulaire affiche une sous-table.

Exemple  

Dans votre application, vous utilisez la convention suivante : au moment de l'affichage d'un enregistrement, la variable vsEnrCourant, si elle est présente dans un formulaire, affiche "Nouvel enregistrement" si vous créez un nouvel enregistrement, ou par exemple "56 parmi 5200" si vous ouvrez le 56e enregistrement d'une sélection en comportant 5200. Pour cela, vous pouvez créer une fois la variable vsEnrCourant et lui associer la méthode objet décrite ci-dessous, puis la copier et la coller dans tous les formulaires que vous voulez :

  //Méthode objet de la variable non saisissable vsEnrCourant
 Au cas ou
    :(Evenement formulaire=Sur chargement)
       C_ALPHA(31;vsEnrCourant)
       C_POINTEUR($vpTableParente)
       C_ENTIER LONG($vlNumEnr)
       $vpTableParente:=Table du formulaire courant
       $vlNumEnr:=Numero enregistrement($vpTableParente->)
       Au cas ou
          :($vlNumEnr=-3)
             vsEnrCourant:="Nouvel enregistrement"
          :($vlNumEnr=-1)
             vsEnrCourant:="Pas d'enregistrement"
          :($vlNumEnr>=0)
             vsEnrCourant:=Chaine(Numero dans selection($vpTableParente->))+" parmi "+Chaine(Enregistrements trouves($vpTableParente->))
       Fin de cas
 Fin de cas



Voir aussi  

DIALOGUE
FORM FIXER ENTREE
FORM FIXER SORTIE
IMPRIMER SELECTION

 
PROPRIÉTÉS 

Produit : 4D
Thème : Table
Numéro : 627
Nom intl. : Current form table

 
HISTORIQUE 

Modifié : 4D v11 SQL

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)