version 11 (Modifiée)
Table du formulaire courant Pointeur
Paramètre | Type | Description | ||||
Cette commande ne requiert pas de paramètre | ||||||
Résultat | Pointeur | Pointeur vers la table à laquelle appartient le | ||||
formulaire actuellement affiché |
Description
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 (Numero dans selection ($vpTableParente->)) Fin de cas Fin de cas
Référence
DIALOGUE, FORMULAIRE ENTREE, FORMULAIRE SORTIE, IMPRIMER SELECTION.