DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
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 l'enregistrement courant s'il existe, sinon ajoute un nouvel enregistrement.
Exemple
EcranVersFichier(Client)
HEnregistre(Client)
Syntaxe
<Résultat> = HEnregistre([<Fichier de données> [, <Options>]])
<Résultat> : Booléen
  • Vrai si l'ajout ou la modification a été effectuée,
  • Faux en cas d'erreur.
<Fichier de données> : Chaîne de caractères optionnelle
Nom du fichier de données, de la vue ou de la requête manipulé. Si ce nom n'est pas spécifié, la fonction HEnregistre va manipuler le dernier fichier de données utilisé par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H).
<Options> : Constante optionnelle de type entier
Permet de paramétrer :
  • l'influence de l'ajout ou de la modification sur le parcours en cours.
  • le mode de calcul de l'identifiant automatique. Pour plus de détails, consultez Gestion de l'identifiant automatique lors d'un ajout.
  • le mode de blocage de l'enregistrement ajouté ou modifié.
  • la gestion des doublons.
  • la gestion de l'intégrité.
Hyper File 5.5 Ce paramètre n'est pas pris en compte.
hAffecteParcoursInfluence de l'ajout/modification sur le parcours : L'ajout ou la modification affecte le parcours.
Par exemple, la fonction HLitSuivant utilisée après la fonction HEnregistre positionne sur l'enregistrement suivant l'enregistrement ajouté/modifié.
La constante hAffecteParcours est prioritaire sur la constante hEcritureDéfaut.
hBlocageEcritureMode de blocage de l'enregistrement ajouté ou modifié : Blocage en écriture : l'enregistrement ajouté ou modifié sera bloqué en écriture. Cet enregistrement pourra être lu par une autre application mais ne pourra pas être modifié par une autre application. Seule l'application en cours pourra le modifier ou le débloquer.
AndroidWidget Android Cette constante n'est pas disponible.
Java Accès par JDBC : Cette constante n'est pas disponible.
hBlocageLectureEcritureMode de blocage de l'enregistrement ajouté ou modifié : Blocage en lecture/écriture : l'enregistrement ajouté ou modifié sera bloqué en lecture et en écriture. Cet enregistrement ne pourra ni être lu ni être modifié par une autre application. Seule l'application en cours pourra le modifier, le lire ou le débloquer.
AndroidWidget Android Cette constante n'est pas disponible.
Java Accès par JDBC : Cette constante n'est pas disponible.
hBlocageNon
(valeur par défaut)
Mode de blocage de l'enregistrement ajouté ou modifié : Aucun blocage : l'enregistrement ajouté ou modifié ne sera pas bloqué.
AndroidWidget Android Cette constante n'est pas disponible.
Java Accès par JDBC : Cette constante n'est pas disponible.
hEcritureDéfaut
(valeur par défaut)
Influence de l'ajout ou de la modification sur le parcours : L'ajout ou la modification n'affecte pas le parcours en cours.
Par exemple, la fonction HLitSuivant utilisée après la fonction HEnregistre positionne sur l'enregistrement suivant l'enregistrement en cours avant l'ajout ou la modification.
La constante hAffecteParcours est prioritaire sur la constante hEcritureDéfaut.
hFixeIDAutoMode de calcul de l'identifiant automatique : L'identifiant automatique n'est pas calculé lors de l'ajout : la valeur de l'identifiant sera celle mémorisée au moment de l'ajout.
La prochaine valeur de l'identifiant calculée par le moteur HFSQL correspondra à la plus grande valeur de l'identifiant dans le fichier +1.
Si les constantes hFixeIDAuto et hForceIDAuto sont utilisées en même temps, une erreur WLangage est générée.
hForceIDAutoMode de calcul de l'identifiant automatique : L'identifiant automatique n'est pas calculé lors de l'ajout. L'identifiant correspond :
  • soit à la valeur affectée à la rubrique par programmation (par exemple CLCLEUNIK = 7)
  • soit à la valeur par défaut de l'identifiant spécifiée dans l'éditeur d'analyses (si le fichier de données vient d'être ouvert, sans lecture d'enregistrement)
  • soit à la valeur de l'identifiant présent en mémoire (valeur de l'identifiant pour le dernier enregistrement lu dans le fichier de données).
Après l'ajout de l'enregistrement, le prochain identifiant automatique calculé par défaut par le moteur HFSQL sera calculé sans tenir compte de la valeur ajoutée par hForceIDAuto.
Si les constantes hFixeIDAuto et hForceIDAuto sont utilisées en même temps, une erreur WLangage est générée.
hIgnoreDoublonMode de gestion des doublons : Ignore le contrôle des doublons pour cette opération, même si le contrôle automatique des doublons est branché (fonction HGèreDoublon).
Si les constantes hIgnoreDoublon et hVérifieDoublon sont utilisées en même temps, une erreur WLangage est générée.
AndroidWidget Android Cette constante n'est pas disponible.
Java Accès par JDBC : Cette constante n'est pas disponible.
hIgnoreIntégritéMode de gestion de l'intégrité : Ignore le contrôle d'intégrité sur cette opération d'ajout, même si le contrôle de l'intégrité automatique est branché (fonction HGèreIntégrité).
Si les constantes hIgnoreIntégrité et hVérifieIntégrité sont utilisées en même temps, une erreur WLangage est générée.
AndroidWidget Android Cette constante n'est pas disponible.
Java Accès par JDBC : Cette constante n'est pas disponible.
hRecalculeIDAutoMode de calcul de l'identifiant automatique : L'identifiant automatique de l'enregistrement sera recalculé lors de l'écriture. Cette constante est prioritaire sur les constantes hForceIDAuto et hFixeIDAuto.
hVérifieDoublonMode de gestion des doublons : Contrôle les doublons pour cette opération, même si le contrôle des doublons est débranché (fonction HGèreDoublon).
Si les constantes hIgnoreDoublon et hVérifieDoublon sont utilisées en même temps, une erreur WLangage est générée.
AndroidWidget Android Cette constante n'est pas disponible.
Java Accès par JDBC : Cette constante n'est pas disponible.
hVérifieIntégritéMode de gestion de l'intégrité : Contrôle l'intégrité de l'opération même si le contrôle de l'intégrité automatique est débranché (fonction HGèreIntégrité).
Si les constantes hIgnoreIntégrité et hVérifieIntégrité sont utilisées en même temps, une erreur WLangage est générée.
AndroidWidget Android Cette constante n'est pas disponible.
Java Accès par JDBC : Cette constante n'est pas disponible.
Remarques
  • Si la propriété NouvelEnregistrement est à Vrai, la fonction HEnregistre ajoute l'enregistrement dans le fichier de données (fonction HAjoute). Pour plus de détails, consultez la documentation de la fonction HAjoute.
  • Si la propriété NouvelEnregistrement est à Faux, la fonction HEnregistre modifie l'enregistrement dans le fichier de données (fonction HModifie). Pour plus de détails, consultez la documentation de la fonction HModifie.
  • Attention : La fonction HRAZ modifie la propriété NouvelEnregistrement : si la fonction HRAZ est utilisée, la propriété NouvelEnregistrement passe à Vrai.
Classification Métier / UI : Code métier
Composante : wd290hf.dll
Version minimum requise
  • Version 20
Documentation également disponible pour…
Commentaires
Pour Info
Bonjour
Pour info :
- HRAZ avant un HEnregistre donne un HAjoute
- Pas de HRAZ avant un HEnregistre donne un HModifie
Bien Cordialement
Gemini1961
21 sep. 2023
suppression de données
Attention cette fonction peut dans certains cas avoir l'effet d'une suppression de données
Voir :
https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/267672-application-windev-voit-donnees-effacer/read.awp
Popoy
21 sep. 2023
reponse a Chambiges
Merci. le code passe, mais il ne s'ajoute pas dans la table, il modifie une ligne de la table.
a chaque enregistrement, la premiere ligne du tableau est modifiée.
Mami
12 déc. 2018
Ce que je ferais
SI SansEspace(SAI_Code="") ALORS
Erreur("Saisir le code")
RepriseSaisie(SAI_Code)

SINON
HLitRecherchePremier(EXPRESS_CATEGORIE,IDEXPRESS_CATEGORIE,SAI_Code)

EcranVersFichier(EXPRESS_FEN_Fiche_EXPRESS_CATEGORIE,EXPRESS_CATEGORIE)
SI HEnregistre(EXPRESS_CATEGORIE) ALORS
Ouvre(EXPRESS_FEN_MENU)
FIN
FIN
Chambiges
12 déc. 2018
aide
bonjour a tous. jai besoin de votre aide. je n'arrive pas a enregistrer les donnees concernant le fichier categorie. il s'affiche "aucun enregistrement en cours n'est defini pour le fichier"
j'utilise la version express
voici mon code:

SI SansEspace(SAI_Code="") ALORS
Erreur("Saisir le code")
RepriseSaisie(SAI_Code)

SINON SI SansEspace(SAI_Type="") ALORS
Erreur("Saisir le type")
RepriseSaisie(SAI_Type)
FIN
HLitRecherchePremier(EXPRESS_CATEGORIE,IDEXPRESS_CATEGORIE,SAI_Code)
SI SansEspace(SAI_Code=EXPRESS_CATEGORIE.CODECAT) ALORS
Erreur("Impossible")
SINON SI SansEspace(SAI_Code<>EXPRESS_CATEGORIE.CODECAT) ALORS
EcranVersFichier(EXPRESS_FEN_Fiche_EXPRESS_CATEGORIE,EXPRESS_CATEGORIE)
SI HEnregistre(EXPRESS_CATEGORIE)=Vrai ALORS
Ouvre(EXPRESS_FEN_MENU)
FIN
FIN
Mami
10 déc. 2018

Dernière modification : 13/12/2023

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