| |

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.
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.
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()
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.
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.
|