PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE


  • Gestion des Identifiants automatiques
  • Réutilisation des enregistrements supprimés ou libérés
  • Version du fichier de données après un ajout
  • Ajout d'un enregistrement dans une requête
  • Ajout d'enregistrements dans une vue
  • Parcours et ajout d'enregistrements
  • Problème de lenteur lors du premier ajout ou de la première suppression dans un fichier de données HFSQL
  • Ajout dans une base de données au format Hyper File 5.5
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Ajoute :
  • l'enregistrement présent en mémoire dans le fichier de données (la requête ou la vue).
  • Versions 19 et supérieures
    WINDEVWEBDEV - Code ServeurWindows Mobile l'enregistrement présent dans une variable de type Enregistrement dans le fichier de données (la requête ou la vue).
    Nouveauté 19
    WINDEVWEBDEV - Code ServeurWindows Mobile l'enregistrement présent dans une variable de type Enregistrement dans le fichier de données (la requête ou la vue).
    WINDEVWEBDEV - Code ServeurWindows Mobile l'enregistrement présent dans une variable de type Enregistrement dans le fichier de données (la requête ou la vue).
    WINDEVWEBDEV - Code ServeurAndroidWidget AndroidWindows Mobile l'enregistrement présent dans une variable de type Enregistrement dans le fichier de données (la requête ou la vue).
Les index correspondant à toutes les clés utilisées dans le fichier de données sont mis à jour automatiquement. Les mémos éventuels sont ajoutés si la gestion des mémos est active (fonction HGèreMémo).
Après l'exécution de la fonction HAjoute :
  • Une gestion automatique des erreurs est proposée pour plusieurs types d'erreurs : Erreur de doublons, Erreur d'intégrité, Erreur de mot de passe, Erreur de conflit de modification et d'état lors du conflit de modification, Erreur de blocage, ... Pour plus de détails, consultez Gestion assistée des erreurs HFSQL.
  • Si la gestion des doublons est activée et si le fichier de données contient une clé unique, la fonction HErreurDoublon renvoie Vrai si la valeur de la clé ajoutée n'est pas unique. L'enregistrement n'est pas ajouté.
  • L'enregistrement ajouté devient l'enregistrement en cours. L'identifiant automatique est automatiquement renseigné. Par défaut, le parcours en cours n'est pas affecté.
Note : La totalité de l'enregistrement en mémoire est écrite dans le fichier de données avec les valeurs qui lui ont été affectées (et à défaut, le contenu de l'enregistrement précédemment lu). Pour vider les valeurs de l'enregistrement en mémoire, il suffit d'utiliser la fonction HRAZ.
Versions 15 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
Android Cette fonction est désormais disponible pour les applications Android.
Android Cette fonction est désormais disponible pour les applications Android.
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Versions 23 et supérieures
AndroidWidget Android La syntaxe permettant de manipuler une variable de type Enregistrement est désormais disponible.
Nouveauté 23
AndroidWidget Android La syntaxe permettant de manipuler une variable de type Enregistrement est désormais disponible.
AndroidWidget Android La syntaxe permettant de manipuler une variable de type Enregistrement est désormais disponible.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
// Ajout d'un enregistrement dans un fichier
// (enregistrement décrit par programmation)
Client.Nom = "Moulin"
Client.Prenom = "François"
Client.Adresse = "Impasse des palmiers"
Client.Ville = "Perpignan"
Client.CodeP = "66000"
Client.Pays = "France"
HAjoute(Client)
WINDEVAndroidWidget AndroidiPhone/iPadWindows MobileUniversal Windows 10 AppJavaHFSQLHFSQL Client/ServeurProcédures stockéesHyper File 5.5OLE DBAccès Natifs
// Ajout d'un enregistrement saisi dans une fenêtre
// dans le fichier Client
EcranVersFichier()
HAjoute(Client)
Syntaxe

Ajouter l'enregistrement en mémoire dans un fichier de données Masquer les détails

<Résultat> = HAjoute([<Nom du fichier> [, <Options>]])
<Résultat> : Booléen
  • Vrai si l'enregistrement a été ajouté,
  • Faux en cas de problème (erreur d'intégrité, de doublons, ...). La fonction HErreur permet d'identifier l'erreur.
<Nom du fichier> : Chaîne de caractères optionnelle (avec ou sans guillemets)
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 HAjoute 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
Permet de paramétrer :
  • l'influence de l'ajout 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é.
    • Windows Mobile Le blocage d'enregistrement est disponible uniquement avec des fichiers de données HFSQL Client/Serveur ou manipulés par un Accès Natif. Il n'est pas possible de bloquer un enregistrement HFSQL Mobile. Cette limitation est due au système d'exploitation du Pocket PC.
    • PHP La gestion des blocages n'est pas disponible en PHP.
    • Versions 15 et supérieures
      AndroidWidget Android La gestion des blocages n'est pas disponible sur les bases de données SQLite.
      Nouveauté 15
      AndroidWidget Android La gestion des blocages n'est pas disponible sur les bases de données SQLite.
      AndroidWidget Android La gestion des blocages n'est pas disponible sur les bases de données SQLite.
    • Java Accès par JDBC : La gestion des blocages n'est pas disponible sur les bases de données accédées par JDBC.
  • 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 sur le parcours : L'ajout affecte le parcours.
Par exemple, la fonction HLitSuivant utilisée après la fonction HAjoute positionne sur l'enregistrement suivant l'enregistrement ajouté.
La constante hAffecteParcours est prioritaire sur la constante hEcritureDéfaut.
hBlocageNon (valeur par défaut)Mode de blocage de l'enregistrement ajouté : Aucun blocage (même si la fonction HDébutVerrou a été utilisée) : l'enregistrement ajouté ne sera pas bloqué.
AndroidWidget AndroidPHP Cette constante n'est pas disponible.
Java Accès par JDBC : Cette constante n'est pas disponible.
hBlocageEcritureMode de blocage de l'enregistrement ajouté : Blocage en écriture : l'enregistrement ajouté 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.
Windows Mobile Cette constante est disponible uniquement pour HFSQL Client/Serveur et les Accès Natifs. Cette constante n'est pas disponible pour HFSQL Mobile. En effet, il n'est pas possible de bloquer un enregistrement. Cette limitation est due au système d'exploitation du Pocket PC.
AndroidWidget AndroidPHP Cette constante n'est pas disponible.
Java Accès par JDBC : Cette constante n'est pas disponible.
hBlocageLectureEcritureMode de blocage de l'enregistrement ajouté : Blocage en lecture/écriture : l'enregistrement ajouté 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.
Windows Mobile Cette constante est disponible uniquement pour HFSQL Client/Serveur et les Accès Natifs. Cette constante n'est pas disponible pour HFSQL Mobile. En effet, il n'est pas possible de bloquer un enregistrement. Cette limitation est due au système d'exploitation du Pocket PC.
AndroidWidget AndroidPHP 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 sur le parcours : L'ajout n'affecte pas le parcours en cours.
Par exemple, la fonction HLitSuivant utilisée après la fonction HAjoute positionne sur l'enregistrement suivant l'enregistrement en cours avant l'ajout.
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.
Accès Natifs SQLServer CE : La constante hFixeIdAuto ne peut pas être utilisé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.
Accès Natifs SQLServer CE : La constante hForceIdAuto ne peut pas être utilisé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 AndroidPHP 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 AndroidPHP Cette constante n'est pas disponible.
Java Accès par JDBC : Cette constante n'est pas disponible.
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 AndroidPHP 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 AndroidPHP Cette constante n'est pas disponible.
Java Accès par JDBC : Cette constante n'est pas disponible.
Versions 19 et supérieures
WINDEVWEBDEV - Code ServeurAndroidWidget AndroidWindows Mobile

Ajouter le contenu d'une variable de type Enregistrement dans un fichier de données Masquer les détails

<Résultat> = HAjoute(<Nom du fichier> , <Enregistrement> [, <Options>])
<Résultat> : Booléen
  • Vrai si l'enregistrement a été ajouté,
  • Faux en cas de problème (erreur d'intégrité, de doublons, ...). La fonction HErreur permet d'identifier l'erreur.
<Nom du fichier> : Chaîne de caractères (avec ou sans guillemets)
Nom du fichier de données, de la vue ou de la requête manipulé.
<Enregistrement> : Variable de type Enregistrement
Nom de la variable de type Enregistrement contenant les différentes valeurs des rubriques.
<Options> : Constante optionnelle
Permet de paramétrer :
  • l'influence de l'ajout 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é.
    Windows Mobile Le blocage d'enregistrement est disponible uniquement avec des fichiers de données HFSQL Client/Serveur ou manipulés par un Accès Natif. Il n'est pas possible de bloquer un enregistrement HFSQL Mobile. Cette limitation est due au système d'exploitation du Pocket PC.
  • 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 sur le parcours : L'ajout affecte le parcours.
Par exemple, la fonction HLitSuivant utilisée après la fonction HAjoute positionne sur l'enregistrement suivant l'enregistrement ajouté.
La constante hAffecteParcours est prioritaire sur la constante hEcritureDéfaut.
hBlocageNon
(valeur par défaut)
Mode de blocage de l'enregistrement ajouté : Aucun blocage (même si la fonction HDébutVerrou a été utilisée) : l'enregistrement ajouté ne sera pas bloqué.
AndroidWidget Android Cette constante n'est pas disponible.
hBlocageEcritureMode de blocage de l'enregistrement ajouté : Blocage en écriture : l'enregistrement ajouté 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.
Windows Mobile Cette constante est disponible uniquement pour HFSQL Client/Serveur et les Accès Natifs. Cette constante n'est pas disponible pour HFSQL Mobile. En effet, il n'est pas possible de bloquer un enregistrement. Cette limitation est due au système d'exploitation du Terminal Mobile (Pocket PC).
AndroidWidget Android Cette constante n'est pas disponible.
hBlocageLectureEcritureMode de blocage de l'enregistrement ajouté : Blocage en lecture/écriture : l'enregistrement ajouté 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.
Windows Mobile Cette constante est disponible uniquement pour HFSQL Client/Serveur et les Accès Natifs. Cette constante n'est pas disponible pour HFSQL Mobile. En effet, il n'est pas possible de bloquer un enregistrement. Cette limitation est due au système d'exploitation du Terminal Mobile (Pocket PC).
AndroidWidget Android Cette constante n'est pas disponible.
hEcritureDéfaut
(valeur par défaut)
Influence de l'ajout sur le parcours : L'ajout n'affecte pas le parcours en cours.
Par exemple, la fonction HLitSuivant utilisée après la fonction HAjoute positionne sur l'enregistrement suivant l'enregistrement en cours avant l'ajout.
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.
Accès Natifs SQLServer CE : La constante hFixeIdAuto ne peut pas être utilisé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.
Accès Natifs SQLServer CE : La constante hForceIdAuto ne peut pas être utilisé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.
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.
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.
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.
Nouveauté 19
WINDEVWEBDEV - Code ServeurAndroidWidget AndroidWindows Mobile

Ajouter le contenu d'une variable de type Enregistrement dans un fichier de données Masquer les détails

<Résultat> = HAjoute(<Nom du fichier> , <Enregistrement> [, <Options>])
<Résultat> : Booléen
  • Vrai si l'enregistrement a été ajouté,
  • Faux en cas de problème (erreur d'intégrité, de doublons, ...). La fonction HErreur permet d'identifier l'erreur.
<Nom du fichier> : Chaîne de caractères (avec ou sans guillemets)
Nom du fichier de données, de la vue ou de la requête manipulé.
<Enregistrement> : Variable de type Enregistrement
Nom de la variable de type Enregistrement contenant les différentes valeurs des rubriques.
<Options> : Constante optionnelle
Permet de paramétrer :
  • l'influence de l'ajout 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é.
    Windows Mobile Le blocage d'enregistrement est disponible uniquement avec des fichiers de données HFSQL Client/Serveur ou manipulés par un Accès Natif. Il n'est pas possible de bloquer un enregistrement HFSQL Mobile. Cette limitation est due au système d'exploitation du Pocket PC.
  • 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 sur le parcours : L'ajout affecte le parcours.
Par exemple, la fonction HLitSuivant utilisée après la fonction HAjoute positionne sur l'enregistrement suivant l'enregistrement ajouté.
La constante hAffecteParcours est prioritaire sur la constante hEcritureDéfaut.
hBlocageNon
(valeur par défaut)
Mode de blocage de l'enregistrement ajouté : Aucun blocage (même si la fonction HDébutVerrou a été utilisée) : l'enregistrement ajouté ne sera pas bloqué.
AndroidWidget Android Cette constante n'est pas disponible.
hBlocageEcritureMode de blocage de l'enregistrement ajouté : Blocage en écriture : l'enregistrement ajouté 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.
Windows Mobile Cette constante est disponible uniquement pour HFSQL Client/Serveur et les Accès Natifs. Cette constante n'est pas disponible pour HFSQL Mobile. En effet, il n'est pas possible de bloquer un enregistrement. Cette limitation est due au système d'exploitation du Terminal Mobile (Pocket PC).
AndroidWidget Android Cette constante n'est pas disponible.
hBlocageLectureEcritureMode de blocage de l'enregistrement ajouté : Blocage en lecture/écriture : l'enregistrement ajouté 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.
Windows Mobile Cette constante est disponible uniquement pour HFSQL Client/Serveur et les Accès Natifs. Cette constante n'est pas disponible pour HFSQL Mobile. En effet, il n'est pas possible de bloquer un enregistrement. Cette limitation est due au système d'exploitation du Terminal Mobile (Pocket PC).
AndroidWidget Android Cette constante n'est pas disponible.
hEcritureDéfaut
(valeur par défaut)
Influence de l'ajout sur le parcours : L'ajout n'affecte pas le parcours en cours.
Par exemple, la fonction HLitSuivant utilisée après la fonction HAjoute positionne sur l'enregistrement suivant l'enregistrement en cours avant l'ajout.
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.
Accès Natifs SQLServer CE : La constante hFixeIdAuto ne peut pas être utilisé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.
Accès Natifs SQLServer CE : La constante hForceIdAuto ne peut pas être utilisé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.
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.
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.
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.
WINDEVWEBDEV - Code ServeurAndroidWidget AndroidWindows Mobile

Ajouter le contenu d'une variable de type Enregistrement dans un fichier de données Masquer les détails

<Résultat> = HAjoute(<Nom du fichier> , <Enregistrement> [, <Options>])
<Résultat> : Booléen
  • Vrai si l'enregistrement a été ajouté,
  • Faux en cas de problème (erreur d'intégrité, de doublons, ...). La fonction HErreur permet d'identifier l'erreur.
<Nom du fichier> : Chaîne de caractères (avec ou sans guillemets)
Nom du fichier de données, de la vue ou de la requête manipulé.
<Enregistrement> : Variable de type Enregistrement
Nom de la variable de type Enregistrement contenant les différentes valeurs des rubriques.
<Options> : Constante optionnelle
Permet de paramétrer :
  • l'influence de l'ajout 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é.
    Windows Mobile Le blocage d'enregistrement est disponible uniquement avec des fichiers de données HFSQL Client/Serveur ou manipulés par un Accès Natif. Il n'est pas possible de bloquer un enregistrement HFSQL Mobile. Cette limitation est due au système d'exploitation du Pocket PC.
  • 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 sur le parcours : L'ajout affecte le parcours.
Par exemple, la fonction HLitSuivant utilisée après la fonction HAjoute positionne sur l'enregistrement suivant l'enregistrement ajouté.
La constante hAffecteParcours est prioritaire sur la constante hEcritureDéfaut.
hBlocageNon
(valeur par défaut)
Mode de blocage de l'enregistrement ajouté : Aucun blocage (même si la fonction HDébutVerrou a été utilisée) : l'enregistrement ajouté ne sera pas bloqué.
AndroidWidget Android Cette constante n'est pas disponible.
hBlocageEcritureMode de blocage de l'enregistrement ajouté : Blocage en écriture : l'enregistrement ajouté 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.
Windows Mobile Cette constante est disponible uniquement pour HFSQL Client/Serveur et les Accès Natifs. Cette constante n'est pas disponible pour HFSQL Mobile. En effet, il n'est pas possible de bloquer un enregistrement. Cette limitation est due au système d'exploitation du Terminal Mobile (Pocket PC).
AndroidWidget Android Cette constante n'est pas disponible.
hBlocageLectureEcritureMode de blocage de l'enregistrement ajouté : Blocage en lecture/écriture : l'enregistrement ajouté 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.
Windows Mobile Cette constante est disponible uniquement pour HFSQL Client/Serveur et les Accès Natifs. Cette constante n'est pas disponible pour HFSQL Mobile. En effet, il n'est pas possible de bloquer un enregistrement. Cette limitation est due au système d'exploitation du Terminal Mobile (Pocket PC).
AndroidWidget Android Cette constante n'est pas disponible.
hEcritureDéfaut
(valeur par défaut)
Influence de l'ajout sur le parcours : L'ajout n'affecte pas le parcours en cours.
Par exemple, la fonction HLitSuivant utilisée après la fonction HAjoute positionne sur l'enregistrement suivant l'enregistrement en cours avant l'ajout.
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.
Accès Natifs SQLServer CE : La constante hFixeIdAuto ne peut pas être utilisé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.
Accès Natifs SQLServer CE : La constante hForceIdAuto ne peut pas être utilisé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.
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.
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.
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.
Remarques

Gestion des Identifiants automatiques

Par défaut, lors de l'ajout d'un enregistrement dans un fichier de données, la rubrique de type "Identifiant automatique" est automatiquement mise à jour. Il n'est pas nécessaire de relire l'enregistrement pour connaître la valeur de l'identifiant automatique. Il suffit d'utiliser la syntaxe <Nom Fichier>.<Nom rubrique Identifiant automatique>.
Les constantes hForceIdAuto et hFixeIdAuto permettent de modifier le comportement par défaut de l'identifiant automatique.
Pour plus de détails sur la gestion de l'identifiant automatique lors de l'ajout d'un enregistrement, consultez Gestion de l'identifiant automatique lors d'un ajout.
AndroidWidget AndroidJavaPHPOLE DBAccès Natifs Cas particulier
  • Si la base de données génère un identifiant automatique, le moteur HFSQL conserve cette valeur. Si les constantes hForceIdAuto ou hFixeIdAuto sont précisées, le moteur HFSQL remplace la valeur générée par la valeur voulue.
    Remarque : la constante hForceIdAuto équivaut à hFixeIdAuto : l'identifiant automatique calculé par le moteur HFSQL lors du prochain ajout sera unique dans le fichier de données.
  • Si la base de données ne génère pas d'identifiant automatique, le moteur HFSQL génère la valeur et l'affecte à l'identifiant automatique.
WINDEVWEBDEV - Code ServeuriPhone/iPadWindows MobileUniversal Windows 10 AppJavaPHPAjaxLangage ExterneHFSQLHFSQL Client/ServeurProcédures stockéesHyper File 5.5

Réutilisation des enregistrements supprimés ou libérés

Lors de l'ajout d'un nouvel enregistrement, le moteur HFSQL optimise le remplissage du fichier de données. L'espace correspondant aux enregistrements supprimés ou libérés est utilisé prioritairement lors de l'ajout d'un nouvel enregistrement.
Les enregistrements rayés ne sont pas ré-utilisés.
WINDEVWEBDEV - Code ServeuriPhone/iPadWindows MobileUniversal Windows 10 AppJavaPHPAjaxLangage ExterneHFSQLHFSQL Client/ServeurProcédures stockéesHyper File 5.5

Version du fichier de données après un ajout

Si l'enregistrement a été ajouté au fichier de données (pas d'erreur de doublons ou d'intégrité), le numéro de version du fichier de données est modifié. Pour connaître le numéro de version, utilisez la fonction HVersion.

Ajout d'un enregistrement dans une requête

L'ajout d'un enregistrement dans une requête peut être effectué :
  • soit uniquement dans le résultat de la requête.
  • soit directement dans les fichiers de données manipulés par la requête (constante hModifieFichier utilisée dans les fonctions HExécuteRequête ou HExécuteRequêteSQL). Dans ce cas, la constante hAvecFiltre est automatiquement sélectionnée.
Quel que soit le mode d'exécution de la requête (avec ou sans la constante hAvecFiltre), l'ajout d'enregistrement dans une requête n'est possible que pour les requêtes mono fichier. Les rubriques calculées précisées lors de l'ajout sont ignorées. Elles sont automatiquement calculées.
Attention :
  • Tout ajout dans une requête utilisant les groupes ou les agrégats est interdit.
  • La gestion de l'intégrité et des doublons n'est pas réalisée lors d'opérations sur les requêtes multi-fichiers : il est conseillé d'utiliser les transactions pour éviter tout problème.
WINDEVWEBDEV - Code ServeuriPhone/iPadWindows MobileUniversal Windows 10 AppAjaxLangage ExterneHFSQLHFSQL Client/ServeurProcédures stockées

Ajout d'enregistrements dans une vue

Il est possible d'ajouter des enregistrements dans une vue réalisée sur des fichiers de données au format HFSQL Classic. Ces enregistrements sont uniquement ajoutés en mémoire. Pour les ajouter dans le fichier de données lié à la vue (cas d'une vue simple par exemple), il faut utiliser la fonction HVueVersFichier.

Parcours et ajout d'enregistrements

Il est possible de paramétrer l'influence de l'ajout d'un enregistrement pendant le parcours d'un fichier de données (constantes hEcritureDéfaut et hAffecteParcours). Le fonctionnement des versions précédentes est conservé grâce à la constante hAffecteParcours).
JavaPHPOLE DBAccès Natifs Cas particuliers
Si l'ajout est réalisé pendant un parcours, le nouvel enregistrement sera visible dans le parcours en cours uniquement. Si d'autres parcours ont été définis sur cette base de données, le nouvel enregistrement ne sera visible qu'après ré-initialisation de ces parcours.

Problème de lenteur lors du premier ajout ou de la première suppression dans un fichier de données HFSQL

Un problème de lenteur inexpliqué peut apparaître lors du premier accès à un enregistrement d'un fichier de données HFSQL. Pour corriger ce problème :
  • Désactivez l'antivirus pour l'analyse des fichiers .FIC, .NDX, .MMO et .REP.
  • Désactivez l'option "Restauration du système" sous Windows XP.
WINDEVWEBDEV - Code ServeurAjaxLangage ExterneProcédures stockéesHyper File 5.5

Ajout dans une base de données au format Hyper File 5.5

Si vous utilisez la fonction HAjoute avec une base de données au format Hyper File 5.5 :
  • Les options d'ajout (paramètre <Options>) ne sont pas prises en compte.
  • Les rubriques de type TEXTE seront automatiquement complétées par des espaces.
  • La fonction HAjoute ne peut pas être utilisée avec une vue créée sur des fichiers de données au format Hyper File 5.5.
Composantes
WINDEVWEBDEV - Code Serveur wd230hf.dll
Windows Mobile wp230hf.dll
Java wd230java.jar
Linux wd230hf.so
Android wd230android.jar
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Ajout d'une variable de type Enregistrement
Attention :
Si vous copiez un enregistrement d'un fichier dans une variable de type enregistrement, est que celui-ci contient des rubriques Mémo texte, la remise à blanc via :
monEnregistrement.maRubriqueMemoTexte = ""

est prise en compte dans la variable mais lors de l'ajout le contenu est remis !

Faire un Hmodifie(..) derrière pour contourner le problème.
Laurent
26 juil. 2017