|
|
|
|
|
- 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
<Source>.Modifie (Fonction) En anglais : <Source>.Modify
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 ( <Source>.GèreMémo). Après l'exécution de la fonction <Source>.Modifie : - il est conseillé de réaliser une gestion des erreurs :
Il est conseillé de vérifier qu'aucune erreur n'a été générée : 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. 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é 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é.
La gestion des blocages n'est pas disponible.
- 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.
Client.LitRecherchePremier(Nom, "Moulin")
SI Client.Trouve() = Vrai ALORS
Client.Prenom = "François"
Client.Ville = "Montpellier"
Client.CodeP = "34000"
Client.Pays = "France"
Client.Modifie()
FIN
Client.VersFichier()
Client.Modifie()
Syntaxe
<Résultat> = <Source>.Modifie([<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.
<Source> : Type correspondant à la source spécifiée Nom du fichier de données, de la vue HFSQL ou de la requête manipulé. <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 <Source>.Lit) soit cohérente.
Si ce paramètre n'est pas spécifié (est égal à 0 ou à la constante hNumEnrEnCours), la fonction <Source>.Modifie 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 <Source>.NumEnr.
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 blocages n'est pas disponible.
- 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 <Source>.LitSuivant utilisée après la fonction <Source>.Modifie 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 <Source>.Modifie 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 <Source>.LitSuivant utilisée après la fonction <Source>.Modifie positionne sur l'enregistrement suivant l'enregistrement en cours avant la modification.
ATTENTION : Si la fonction <Source>.Modifie 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 <Source>.Gè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 <Variable Connexion>.Gè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 <Source>.Gè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 <Variable Connexion>.Gè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"
Client.Ajoute()
Client.Prénom = "Martin"
Client.Modifie()
...
Classification Métier / UI : Code métier
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|