titre_site.jpg (51607 octets)

EDIT



Affiche les champs de la table en cours pour édition.

Syntaxe

EDIT
[<enregistrement de début expN > | <signet>]
[<portée>]
[FOR <condition 1>]
[WHILE <condition 2>]
[COLOR [<texte standard>] [, [<texte rehaussé>] [, <périmètre>]]]
[COLUMNAR]
[FIELDS <champ 1> [<liste d'options de champs 1>] |
    <champ calculé 1> = <exp 1> [<liste d'options de champs calculés 1>]
    [, <champ 2> [<liste d'options de champs 2>] |
    <champ calculé 2> = <exp 2> [<liste d'options de champs calculés 2>] ...]]
[FORMAT]
[FREEZE <champ 3>]
[KEY <exp 3> [, <exp 4>]]
[LOCK <expN>]
[NOAPPEND]
[NODELETE]
[NOEDIT | NOMODIFY]
[NOFOLLOW]
[NOINIT]
[NORMAL]
[NOTOGGLE]
[NOWAIT]
[TITLE <expC 1>]
[WIDTH <expN>]
[WINDOW <fenêtre>]

<enregistrement de début expN> | <signet>

Le numéro d'enregistrement ou le signet (pour les tables qui n'utilisent pas de numéros d'enregistrements) à éditer.

<portée>

Le nombre d'enregistrements à éditer. RECORD <n> identifie un enregistrement unique par son numéro d'enregistrement. NEXT <n> identifie n enregistrements, en commençant par l'enregistrement en cours. ALL spécifie tous les enregistrements. REST spécifie tous les enregistrements à partir de l'enregistrement en cours jusqu'à la fin du fichier.

FOR <condition 1>
WHILE <condition 2>

Détermine les enregistrements affectés par EDIT. FOR restreint EDIT aux enregistrements qui satisfont à <condition 1>. WHILE commence le traitement à l'enregistrement en cours et le poursuit avec chaque enregistrement suivant tant que <condition 2> est vraie.

COLOR

Spécifie les couleurs du texte standard, du texte rehaussé et du pourtour de la fenêtre des enregistrements de la table. Pour spécifier séparément les couleurs de ces éléments, utilisez les options <texte standard>, <texte rehaussé> et <périmètre>. Vous pouvez aussi utiliser l'option <fond> si vous disposez d'un moniteur à fond uniforme.



< texte standard >    Attributs de couleurs des messages de commandes et des sorties d'écran. Par exemple, la sortie des commandes ? et @ ... SAY apparaît en texte standard.

< texte rehaussé >   Attributs de couleurs des zones de texte rehaussées, telles que les champs @...GET et les cellules de données BROWSE en surbrillance.

< périmètre >    Attributs de couleurs du périmètre qui entoure la zone de texte affichée à l'écran.


< fond >    Attributs de couleurs du fond pour des systèmes d'affichage à fond uniforme. <fond> inclut deux paramètres : une couleur de fond et un attribut.


Les attributs <texte standard> et <texte rehaussé> incluent trois paramètres : une couleur d'avant-plan, une couleur d'arrière-plan et une couleur facultative pour la création de fonds hachurés. Séparez chaque paramètre avec une barre oblique (/).
Pour plus d'informations sur le paramétrage des couleurs, voir SET COLOR TO et SET COLOR OF.

COLUMNAR

Dispose les champs en colonnes sur le formulaire d'édition.

FIELDS < champ 1> [<liste d'options de champs 1>] |
        < champ calculé 1> = <exp 1> [<liste d'options de champs calculés 1>]
    [, < champ 2> [<liste d'options de champs 2>] |
        < champ calculé 2> = <exp 2> [<liste d'options de champs calculés 2>] ... ]]

Affiche les champs spécifiés, selon l'ordre de la liste, dans la fenêtre des enregistrements de la table pour consultation. Les options spécifiées dans <liste d'options de champs 1>, <liste d'options de champs 2>, qui s'appliquent au <champ 1>, <champ 2>, et ainsi de suite, affectent l'affichage de ces champs. Voici la liste de ces options :



\B = <exp 1>, <exp 2> [\F]   

Option RANGE; impose que toute valeur saisie dans <champ 1> soit comprise entre <exp 1> et <exp 2>, bornes inclusesOption RANGE REQUIRED; l'option \F empêche l'acceptation d'une valeur précédemment saisie si elle n'est pas comprise entre <exp 1> et <exp 2>, bornes incluses

\H = <expC>   

Option HEADER; provoque l'affichage de <expC> au-dessus de la colonne de champ dans la fenêtre des enregistrements de la table, remplaçant ainsi le nom de champ


\P = <expC>   

Option PICTURE; affiche <champ 1> en fonction de la clause PICTURE ou FUNCTION <expC>

\R   

Option READ-ONLY; spécifie que <champ 1> est accessible en lecture seule et ne peut être édité

\V = <condition> [\F] [\E = <expC>]   

Option VALID ; permet la saisie d'une nouvelle valeur de <champ 1> uniquement lorsque la <condition> est évaluée à la valeur logique .T.Option VALID REQUIRED; l'option \F empêche le curseur de quitter <champ 1> et la session d'édition jusqu'à ce que la <condition> soit évaluée à la valeur logique .T.Option ERROR MESSAGE; \E = <expC> provoque l'affichage de <expC> lorsque la <condition> est évaluée à la valeur logique .F.

\W = <condition>   

Option WHEN; permet l'édition de <champ 1> uniquement lorsque la <condition> est évaluée à la valeur logique .T.

Note :    Vous pouvez aussi utiliser le caractère "/" lorsque vous ne spécifiez qu'une seule option dans une liste d'options de champs.

Les champs calculés en lecture seule sont composés d'un nom de champ affecté et d'une expression qui produit la valeur du champ calculé, telle que Commission = Taux * Ventes. Les options de champs calculés affectent l'affichage de ces champs. Voici la liste de ces options :



\< largeur de colonne >   

La largeur de la colonne dans laquelle <champ calculé 1> est affiché


\H = <expC>   

Provoque l'affichage de <expC> au-dessus de la colonne du champ calculé dans la fenêtre des enregistrements de la table, remplaçant ainsi le nom du champ calculé

 


FORMAT

Indique à EDIT d'accepter et d'afficher la saisie en fonction des spécifications d'un fichier de format ouvert avec SET FORMAT. Les données saisies doivent se conformer à toutes les clauses PICTURE, FUNCTION, RANGE et VALID du fichier de format.

FREEZE <champ 3>

Restreint l'édition à <champ 3>, bien que d'autres champs soient visibles lorsque vous passez au mode tabulaire.

KEY <exp 3> [,<exp 4>]

Lorsque la table possède un index maître, affiche les enregistrements dont la valeur du champ clé correspond ou est supérieure à <exp 3>, ou bien est comprise entre <exp 3> et <exp 4>.

LOCK <expN >

Conserve les <expN 2> premiers champs de la table, ou les <expN> premiers champs de la liste de champs à l'écran lorsque vous déplacez le curseur sur les champs de droite dans la fenêtre des enregistrements de la table.

NOAPPEND

Empêche l'ajout d'enregistrements dans les modes tabulaire ou formulaire.

NODELETE

Empêche le marquage pour suppression des enregistrements dans la fenêtre des enregistrements de la table.

NOEDIT | NOMODIFY

Empêche la modification des enregistrements dans la fenêtre des enregistrements de la table.

NOFOLLOW

Lorsque la table en cours possède un index maître, oblige le curseur à rester à sa place lorsque vous modifiez le champ clé d'un enregistrement, au lieu de suivre l'enregistrement à son nouvel emplacement selon l'ordre d'indexation. Sans NOFOLLOW, dBASE réindexe la table dès le déplacement sur un autre enregistrement lorsqu'un index maître est ouvert.

NOINIT

Indique à EDIT d'exécuter les options spécifiées dans la commande EDIT précédente. Utilisez NOINIT si un programme appelle EDIT plusieurs fois ou si vous émettez EDIT plusieurs fois dans la fenêtre Commande et que vous voulez conserver les mêmes options. Spécifiez les options de commande à la première émission de EDIT et émettez EDIT NOINIT aux prochaines utilisations dans la même session.

NORMAL

Lorsque EDIT est émise dans une fenêtre active, affiche la fenêtre des enregistrements de la table en mode plein écran normal avec un jeu de couleurs définies ou par défaut, ignorant les couleurs définies de la fenêtre. Lorsque vous quittez EDIT, Visual dBASE vous renvoie à la fenêtre active. Sans NORMAL, les enregistrements de la table apparaissent dans la fenêtre active.

NOTOGGLE

Empêche le basculement entre le mode formulaire (EDIT) et le mode tabulaire (BROWSE).

NOWAIT

Poursuit l'exécution d'un programme après l'affichage d'une fenêtre d'enregistrements de table. Sinon, l'exécution du programme est suspendue jusqu'à ce que la fenêtre des enregistrements de la table soit fermée.

TITLE <expC 1>

Provoque l'affichage de <expC 1> en tant que titre de la fenêtre des enregistrements de la table.

WIDTH <expN>

Spécifie la largeur d'affichage des champs Caractère dans la fenêtre des enregistrements de la table. Si un champ est plus large que la largeur spécifiée, vous pouvez faire défiler le contenu du champ dans la largeur spécifiée. L'argument <expN> doit être évalué à un nombre positif.

WINDOW <fenêtre>

Active la <fenêtre> spécifiée et affiche les enregistrements de la table dans la fenêtre.


 ico_MsDos.jpg (1668 octets)  dbasedos.gif (376 octets) vdb5.gif (351 octets) Description

Utilisez EDIT pour afficher et modifier le contenu d'un ou de plusieurs enregistrements de table. EDIT sans l'option FIELDS affiche tous les champs de l'enregistrement en cours. Utilisez la commande SET RELATION pour visualiser les champs d'enregistrements de tables en relation.

Pour vous déplacer parmi les enregistrements de la fenêtre Enregistrements de la table, vous pouvez appuyer sur les touches Pg. Préc et Pg.Suiv pour vous déplacer d'un enregistrement à la fois. Vous pouvez aussi utiliser les contrôles de fenêtre et la souris, et effectuer des choix à partir de diverses options de menu pour gérer les opérations réalisées par EDIT. Pour plus d'informations sur l'exécution d'opérations et le déplacement à l'intérieur de la fenêtre des enregistrements de la table, voir Affichage et modification d'enregistrements de table ou le Guide de l'utilisateur.

Lors de la visualisation ou de l'édition d'une table dans la fenêtre des enregistrements de la table, appuyez sur Ctrl-W pour quitter EDIT ou choisissez l'option Fichier|Valider l'enregistrement et fermer. Pour quitter EDIT sans effectuer de modifications à l'enregistrement en cours, appuyez sur Ctrl-Q, choisissez Fichier|Abandonner l'enregistrement et fermer, ou double-cliquez sur la case du menu système. Si vous exécutez la commande EDIT dans un programme, la sortie de EDIT renvoie le contrôle du programme à la ligne de commande qui suit immédiatement la ligne de commande EDIT.

Pour visualiser et modifier un champ Mémo, déplacez le curseur sur le champ Mémo et appuyez sur Ctrl+Origine, ou double-cliquez sur le champ Mémo. Pour sauvegarder le champ Mémo modifié, appuyez sur Ctrl+W.
Pour ajouter un nouvel enregistrement (à moins que vous n'utilisiez EDIT...NOAPPEND), déplacez le curseur sur le dernier champ du dernier enregistrement de la table, puis appuyez sur Pg.Suiv.
La plupart des options EDIT correspondent à celles de BROWSE. Appuyez sur F2 pour basculer entre les deux modes.

Utilisez FIELDS suivie d'une liste de noms de champs de la table ou de noms de champs calculés pour contrôler l'affichage des champs EDIT et BROWSE et déterminer si vous pouvez éditer des données dans un champ particulier.
Un champ calculé est un champ en lecture seule qui affiche la valeur d'une expression. L'expression comprend généralement un ou plusieurs champs de la table en cours, tels que

IDENT = NOM + " " + PRENOM

TOTAL = PRIX + (TAXE * PRIX)

ECHEANCE = CMONTH(DATE_FACT + 30)

L'expression située à gauche de l'opérateur = spécifie le nom du champ calculé, et l'expression située à droite évalue chaque contenu de champ calculé.
La fenêtre des enregistrements de la table affiche les champs selon les instructions @...SAY...GET d'un fichier de format ouvert, que vous utilisiez l'option FORMAT ou non. Utilisez l'option FORMAT comme rappel d'ouverture d'un fichier de format. Pour ouvrir le fichier de format, utilisez SET FORMAT TO et le nom du fichier de format. Si vous ouvrez un fichier de format, l'option FIELDS de EDIT n'a pas d'effet, et les commandes EDIT et BROWSE n'affichent que les champs spécifiés dans le fichier de format. Bien que le fichier de format n'affecte pas le format de la fenêtre des enregistrements de la table, les données saisies dans cette fenêtre doivent se conformer à toute clause PICTURE, FUNCTION, RANGE ou VALID du fichier de format.

EDIT ne peut modifier que le contenu d'une table. Pour modifier la structure de la table, utilisez MODIFY STRUCTURE. EDIT et CHANGE sont des commandes équivalentes.

Plus2_5-Icon.jpg (1250 octets) xDML vers ooDML

La commande Xbase EDIT XBase est utilisé pour modifier un enregistrement, mais ce n'est vraiment qu'une commande IDE, et non destinée à être utilisé dans une application déployée. Lorsqu'elle est utilisé, elle crée un formulaire rapide "à la volée" basée sur la disposition de la table, et vous permet de modifier l'enregistrement.


Il n'y a pas d'équivalent direct en OODML pour cette commande.

Toutefois, lorsque vous créez votre propre formulaire, il existe une méthode Xbase DML que vous pouvez utiliser. Il s'agit d'utiliser la méthode BeginEdit() de l'ensemble de lignes (rowset). Toutefois, si vous n'avez pas mis à "false" la propriété autoEdit de l'ensemble de lignes, le jeu de lignes est toujours modifiable.

L'utilisation de BeginEdit()

form.rowset.beginEdit()

Cette commande va permettre de lier aux données tous les contrôles qui sont liés (datalinked) à l'ensemble de lignes spécifique (si vous utilisez plusieurs ensembles de lignes sur le même formulaire, seuls les contrôles qui sont spécifiques à ce jeu de lignes seront activés).

Les points à considérer:
- Navigation de toute sorte (déplacer le pointeur de ligne) fera une sauvegarde automatique de la nouvelle ligne.
- L'ensemble de lignes (rowset) a une méthode save() qui peut être utilisé pour enregistrer les modifications.
- L'ensemble de lignes (rowset) a une méthode abandon() qui peut être utilisé pour abandonner les modifications et la nouvelle ligne.

Notes :
Vous pouvez utiliser l'événement CanEdit() pour vérifier des situations particulières ou exécuter du code avant de permettre à l'utilisateur de modifier la ligne ou pour empêcher l'utilisateur d'éditer (Cet événement se déclenche après l'appel BeginEdit() et avant que l'utilisateur ne soit autorisé à éditer. ..). Vous pouvez utiliser l'événement onEdit() qui se déclenche après que la méthode BeginEdit() soit appelée.

 

Code      ico_MsDos.jpg (1668 octets)   dbasedos.gif (376 octets)   vdb5.gif (351 octets)   Plus2_5-Icon.jpg (1250 octets)

Dans l'exemple suivant, EDIT est utilisée pour ouvrir une fenêtre d'enregistrements de table contenant un sous-ensemble de champs avec des limitations d'édition spécifiées :

USE SOCIETE IN SELECT( ) EXCLUSIVE
INDEX ON C_SOCIETE TAG C_SOCIETE
EDIT FIELDS C_SOCIETE, SOCIETE, ;
     RUE1, VILLE, ETAT, CODE_POST ;
     NOFOLLOW NOAPPEND NODELETE
CLOSE ALL

retour

Sources :

Aide Visual dbase V5.7
http://www.dbase.com/Knowledgebase/INT/xb2vdb7oodml/x2oodml.htm par Ken Mayer
Aide dBase Plus 2.6.0

Retour à l'accueil


Si vous voyez des erreurs, ou souhaitez apporter des compléments, n'hésitez pas à le signaler.
Dernière modification : mardi 10 août 2010

©  M.Abraham.