| 4D v20.1Table du formulaire courant | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v20.1
 Table du formulaire courant 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Table du formulaire courant -> Résultat | ||||||||
| Paramètre | Type | Description | ||||||
| Résultat | Pointeur |   | 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 :
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 :
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 code=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
									DIALOGUE
									
									FORM FIXER ENTREE
									
									FORM FIXER SORTIE
									
									IMPRIMER SELECTION
									
	Produit :  4D
	Thème :  Table
	Numéro :  
        627
        
        
        
	Nom intl. :  Current form table
	Modifié :  4D v11 SQL  
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	4D - Langage ( 4D v20)
	
	
	4D - Langage ( 4D v20.1)
	
	
	
 Ajouter un commentaire
Ajouter un commentaire