|
|
|
|
|
- Gestion des Identifiants automatiques
- Modification des enregistrements supprimés ou rayés
- Conflit de modification ou de suppression
- Gestion des doublons et de l'intégrité
- Version du fichier de données après une modification
- Gestion des mémos binaires
- Modification d'un enregistrement sélectionné dans une requête
- Parcours et modification d'un enregistrement
- xBase
HModifie (Fonction) En anglais : HModify
Non disponible avec ce type de connexion
Modifie l'enregistrement spécifié ou l'enregistrement présent en mémoire 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 sont ajoutés si nécessaire si la gestion des mémos est active ( HGèreMémo). Après l'exécution de la fonction HModifie : - il est conseillé de réaliser une gestion des erreurs :
- 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é modifiée n'est pas unique. L'enregistrement n'est pas modifié.
- si un problème de blocage est rencontré (tentative de modification d'un enregistrement bloqué), la fonction HErreurBlocage renvoie Vrai et l'enregistrement n'est pas modifié.
- le numéro de l'enregistrement en cours n'est pas modifié. Par défaut, le parcours en cours n'est pas affecté.
Remarque : Cette fonction peut être utilisée sur un fichier de données, une vue HFSQL ou une requête.
HLitRecherchePremier(Client, Nom, "Moulin")
SI HTrouve() = Vrai ALORS
Client.Prenom = "François"
Client.Ville = "Montpellier"
Client.CodeP = "34000"
Client.Pays = "France"
HModifie(Client)
FIN
EcranVersFichier()
HModifie(Client)
Syntaxe
<Résultat> = HModifie([<Fichier de données> [, <Numéro d'enregistrement> [, <Options>]]])
<Résultat> : Booléen - Vrai si l'enregistrement a été modifié,
- Faux en cas de problème (erreur d'intégrité, de doublons, etc.) : l'enregistrement n'est pas modifié. La fonction HErreur permet d'identifier l'erreur.
<Fichier de données> : Chaîne de caractères optionnelle Nom du fichier de données, de la vue HFSQL ou de la requête manipulé. Si ce nom n'est pas spécifié, la fonction HModifie va manipuler le dernier fichier de données utilisé par la dernière fonction de gestion HFSQL (fonction commençant par la lettre H). <Numéro d'enregistrement> : Entier optionnel Numéro de l'enregistrement à modifier. L'enregistrement chargé en mémoire est ré-écrit sur l'enregistrement spécifié. Si ce numéro est supérieur au nombre d'enregistrements dans le fichier de données, des enregistrements supprimés intermédiaires seront créés pour que la lecture séquentielle du fichier de données (fonction HLit) soit cohérente.
Si ce paramètre n'est pas spécifié (est égal à 0 ou à la constante hNumEnrEnCours), la fonction HModifie va modifier l'enregistrement en cours dans le fichier de données.
ATTENTION : Il ne faut pas confondre le numéro d'enregistrement avec l'identifiant automatique associé à l'enregistrement. Dans une utilisation normale, ces deux numéros ne sont pas identiques. Le numéro d'enregistrement peut être connu par la fonction HNumEnr.
Pour utiliser le paramètre <Options>, il est nécessaire de préciser le paramètre <Numéro d'enregistrement>.
<Options> : Constante optionnelle Paramètre :- l'influence de la modification sur le parcours en cours,
- le mode de calcul de l'identifiant automatique,
- le mode de blocage de l'enregistrement modifié. Si aucune constante de blocage n'est précisé, l'enregistrement modifié est débloqué.
- la gestion des doublons,
- la gestion de l'intégrité.
Remarque : Pour utiliser ce paramètre, il est nécessaire de préciser le paramètre <Numéro d'enregistrement>.
| | hAffecteParcours | Influence de la modification sur le parcours : La modification affecte le parcours. Par exemple, la fonction HLitSuivant utilisée après la fonction HModifie positionne sur l'enregistrement suivant l'enregistrement modifié (en tenant compte de ses nouvelles valeurs).ATTENTION : Dans tous les cas (constante hAffecteParcours utilisée ou non) : si la fonction HModifie est utilisée dans un parcours et si la valeur de la rubrique de parcours est modifiée, l'enregistrement en cours pourra être lu à nouveau dans la suite du parcours. En effet, la modification de la rubrique de parcours met à jour la clé d'index du fichier. Lors de la lecture des enregistrements suivants, cette modification est prise en compte.
La constante hAffecteParcours est prioritaire sur la constante hEcritureDéfaut. | hBlocageEcriture | Mode de blocage de l'enregistrement modifié : Blocage en écriture : l'enregistrement 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.
| hBlocageLectureEcriture | Mode de blocage de l'enregistrement modifié : Blocage en lecture/écriture : l'enregistrement 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.
| hBlocageNon (valeur par défaut) | Mode de blocage de l'enregistrement modifié : Aucun blocage : l'enregistrement modifié ne sera pas bloqué.
| hEcritureDéfaut (valeur par défaut) | Influence de la modification sur le parcours : La modification n'affecte pas le parcours en cours. Par exemple, la fonction HLitSuivant utilisée après la fonction HModifie positionne sur l'enregistrement suivant l'enregistrement en cours avant la modification.
ATTENTION : Si la fonction HModifie est utilisée dans un parcours et si la valeur de la rubrique de parcours est modifiée, l'enregistrement en cours pourra être lu à nouveau dans la suite du parcours. En effet, la modification de la rubrique de parcours met à jour la clé d'index du fichier. Lors de la lecture des enregistrements suivants, cette modification est prise en compte.
La constante hAffecteParcours est prioritaire sur la constante hEcritureDéfaut. | hFalsifieHorodatage | Gestion des rubriques de type Horodatage : Par défaut, une rubrique de type Horodatage contient la date et l'heure de la création/modification de l'enregistrement, calculées automatiquement. Cette constante empêche la mise à jour de la rubrique de type Horodatage : la dernière valeur présente dans l'enregistrement sera conservée. | hFixeIDAuto | Mode 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. | hForceIDAuto | Mode 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. | hIgnoreDoublon | Mode 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.
| 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.
| hRecalculeIDAuto | Mode de calcul de l'identifiant automatique : L'identifiant automatique de l'enregistrement sera re-calculé lors de l'écriture. Cette constante est prioritaire sur les constantes hForceIDAuto et hFixeIDAuto.
| hVérifieDoublon | Mode 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.
| 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.
|
Remarques Gestion des doublons et de l'intégrité Les contrôles d'intégrité et de doublons s'effectuent uniquement sur les clés pour lesquelles : - un contrôle est actif,
et - la valeur de la rubrique est modifiée par rapport à l'enregistrement présent dans le fichier de données.
Exemple :
...
Client.Nom = "TREMOULET"
Client.Prénom = "Milo"
HAjoute(Client)
Client.Prénom = "Martin"
HModifie(Client)
...
Classification Métier / UI : Code métier
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|