DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions Table
  • Conditions d'utilisation
  • Mise à jour du fichier de données lié au champ Table ou Table hiérarchique
  • Saisie en cascade et mise à jour du fichier de données lié
  • Ré-affichage de la ligne enregistrée
  • Blocage du fichier de données et mise à jour
  • Doublons et intégrité référentielle
  • Utilisez la fonction TableEnregistre pour économiser vos lignes de code
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Modifie ou ajoute l'enregistrement associé à la ligne en cours dans le champ Table fichier ou Table hiérarchique fichier. L'enregistrement est mis à jour :
  • dans le fichier de données lié au champ.
  • WINDEV dans la variable lié au champ.
Exemple
// Enregistrement des données de la ligne en cours
// pour le champ Table "TABLE_Produit"
TableEnregistre(TABLE_Produit)
// Enregistrement des données de la ligne 5
// avec modification d'une colonne par programmation
TABLE_Produit = 5
TABLE_Produit[5].COL_Lib = "nouvelle valeur"
TableEnregistre(TABLE_Produit)
// Evénement Sortie d'une ligne
SI TABLE_Client.Modifié = Faux ALORS
RETOUR
FIN
pclPresentationFiche est un PFicheClient dynamique
SI TABLE_Client.Nouveau ALORS
pclPresentationFiche<-gclPresentation.Nouveau()
SINON
pclPresentationFiche<-gclPresentation.Modifier()
FIN
TableEnregistre(TABLE_Client, pclPresentationFiche)
Syntaxe

Enregistrer dans un fichier de données Masquer les détails

TableEnregistre(<Champ Table>)
<Champ Table> : Nom de champ
Nom du champ Table ou Table hiérarchique fichier à manipuler. La ligne en cours de ce champ Table sera enregistrée.
Si ce paramètre correspond à une chaîne vide (""), le champ Table manipulé est celui auquel le traitement en cours appartient.
WINDEV

Enregistrer dans un objet (syntaxe disponible notamment pour le MVP) Masquer les détails

TableEnregistre(<Champ Table> , <Nom de l'objet>)
<Champ Table> : Nom de champ
Nom du champ Table sur variable à manipuler.
Si ce paramètre correspond à une chaîne vide (""), le champ Table manipulé est celui auquel le traitement en cours appartient.
<Nom de l'objet> : Chaîne de caractères
Nom de l'objet à manipuler. Le contenu de la ligne en cours du champ Table sera enregistré dans les membres de l'objet associé.
Remarques

Conditions d'utilisation

La fonction TableEnregistre peut être utilisée indifféremment sur :
  • un champ Table fichier ou un champ Table hiérarchique fichier.
  • un champ monosélection ou multisélection. Dans le cas d'un champ multisélection, seul le dernier enregistrement sélectionné est modifié (l'enregistrement correspondant à la dernière ligne en cours).
  • WINDEV un champ Table sur variable (syntaxe 2).

Mise à jour du fichier de données lié au champ Table ou Table hiérarchique

La fonction TableEnregistre enregistre la ligne en cours du champ dans le fichier de données lié au champ. Les rubriques sont automatiquement affectées avec les valeurs des colonnes associées dans la ligne en cours.
Lors d'une modification, la fonction TableEnregistre remplace les anciennes valeurs par les nouvelles. Les rubriques ne figurant pas dans le champ ne sont pas modifiées.
Attention :
  • La fonction TableEnregistre ne gère que le fichier de données associé au champ. Si certaines colonnes sont reliées à des rubriques d'autres fichiers de données, ces fichiers de données ne sont pas gérés automatiquement.
  • Les colonnes "image" ne sont pas enregistrées par la fonction TableEnregistre. Pour modifier le contenu du mémo associé à l'image (cas rare), utilisez la fonction HAttacheMémo.
  • Dans les colonnes de type Interrupteur, l'appel à la fonction TableEnregistre est implicite et non désactivable. La modification de la valeur de l'interrupteur sera donc dans tous les cas reportée dans le fichier de données.

Saisie en cascade et mise à jour du fichier de données lié

  • Si la saisie en cascade est activée, le fichier de données lié au champ Table ou Table hiérarchique est automatiquement modifié lorsque l'utilisateur passe à la ligne suivante (utilisation des fonctions TableAjoute, TableAjouteLigne, TableInsère, TableInsèreLigne, TableModifie et TableModifieLigne). La fonction TableEnregistre est inutile.
  • Si la saisie en cascade n'est pas activée, le fichier de données lié au champ Table ou Table hiérarchique n'est pas modifié. Pour écrire la ligne ajoutée ou modifiée dans le fichier de données lié, il est nécessaire d'utiliser la fonction TableEnregistre après la fonction d'ajout ou de modification.
Remarques :
Java La saisie en cascade n'est pas disponible sur les champs Table fichier à accès direct. Cette option est disponible sur les champs Table fichier chargés en mémoire.

Ré-affichage de la ligne enregistrée

Après l'utilisation de la fonction TableEnregistre, la ligne enregistrée peut "disparaître". Cette "disparition" est due à la valeur de la clé de parcours de l'enregistrement ajouté ou modifié.
Pour éviter ce problème, ré-affichez le champ Table ou Table hiérarchique avec la fonction TableAffiche.

Blocage du fichier de données et mise à jour

Si le fichier de données est bloqué dans le traitement en cours, la fonction TableEnregistre enregistre la ligne en cours et débloque le fichier de données.

Doublons et intégrité référentielle

  • Si la gestion des doublons est active (fonction HGèreDoublon), testez la fonction HErreurDoublon après l'exécution de la fonction TableEnregistre pour tester l'unicité de la clé.
  • Si la gestion de l'intégrité référentielle est active (fonction HGèreIntegrité), testez la fonction HErreurIntegrité après l'exécution de la fonction TableEnregistre pour tester l'intégrité référentielle.

Utilisez la fonction TableEnregistre pour économiser vos lignes de code

La fonction TableEnregistre économise plusieurs lignes de code. Cette seule ligne remplace l'affectation des variables des rubriques une par une.
Par exemple, le code suivant :
Client.Nom = ColonneNom
Client.Prénom = ColonnePrénom
Client.Adresse = ColonneAdresse
Client.CP = ColonneCP
Client.Ville = ColonneVille
HAjoute(Client)
est remplacé par la ligne suivante :
TableEnregistre(TABLE_Client)
Composante : wd300obj.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale