4D v16.3

Current form table

Accueil

 
4D v16.3
Current form table

Current form table 


 

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

La fonction Current form table 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
 Case of
    :(Form event=On Load)
       C_STRING(31;vsEnrCourant)
       C_POINTER($vpTableParente)
       C_LONGINT($vlNumEnr)
       $vpTableParente:=Current form table
       $vlNumEnr:=Record number($vpTableParente->)
       Case of
          :($vlNumEnr=-3)
             vsEnrCourant:="Nouvel enregistrement"
          :($vlNumEnr=-1)
             vsEnrCourant:="Pas d'enregistrement"
          :($vlNumEnr>=0)
             vsEnrCourant:=String(Numero dans selection($vpTableParente->))+" parmi "+Chaine(Enregistrements trouves($vpTableParente->))
       End case
 End case



Voir aussi  

DIALOG
FORM SET INPUT
FORM SET OUTPUT
PRINT SELECTION

 
PROPRIÉTÉS 

Produit : 4D
Thème : Table
Numéro : 627

 
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)