titre_site.jpg (51607 octets)

SELECT

Définit la zone de travail en cours dans laquelle des opérations sont effectuées sur la table.

Syntaxe

SELECT <alias>

<alias>

Spécifie une zone de travail. Vous pouvez saisir un numéro de zone de travail (1 à 225), une lettre de zone de travail (A à J) ou un nom d'alias.

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

SELECT permet de choisir une zone de travail dans laquelle une table doit être ouverte ou pour spécifier une zone de travail dans laquelle une table est déjà ouverte. Utilisez SELECT pour ouvrir une table et ses fichiers associés, tels que fichiers index, requête et format, dans chaque zone de travail.

Pour sélectionner une table qui est déjà ouverte, son nom d'alias est préféré par rapport au numéro de la zone de travail, car les tables peuvent être ouvertes dans différents zones de travail en fonction des conditions. Le nom de l'alias choisira toujours la bonne table (ou provoquera une erreur si la table n'est pas ouverte), tandis que le numéro de la zone de travail peut vous mener à la mauvaise table.


Chaque zone de travail a sa propre valeur de FOUND( ) et un pointeur d'enregistrement indépendant. Les modifications effectuées avec le pointeur d'enregistrement dans la zone de travail en cours n'ont aucun effet sur les pointeurs des autres zones de travail, à moins qu'une relation n'ait été établie entre les zones de travail (avec SET RELATION).

Utilisez l'opérateur de macro (&) pour sélectionner une zone de travail par une variable ou simplement pour mettre la variable contenant la zone de travail entre parenthèses. Par exemple, si N=1, utilisez SELECT (N) pour sélectionner la zone de travail 1.

Plus2_5-Icon.jpg (1250 octets) Si le <alias> est une variable, utilisez les parenthèses comme opérateurs d'indirection. Par exemple, si xAlias est une variable contenant un numéro de zone de travail ou nom de l'alias, utiliser SELECT(xAlias). Sinon, dBASE Plus tentera de sélectionner une zone de travail avec le nom d'alias "xAlias".

 

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

Il n'y a pas de notion de l'objet "Requête en cours". Utilisez vos habituelles techniques de gestion des objets pour gérer des objets Query.

 

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

Dans l'exemple suivant, la commande SELECT permet de revenir à une table précédemment ouverte :

PUBLIC table1, table2

USE CONTACT EXCLUSIVE IN SELECT( )

INDEX ON C_SOCIETE TAG C_SOCIETE

table1 = ALIAS( )

USE SOCIETE IN SELECT( )

table2 = ALIAS( )

SELECT SOCIETE

COPY STRUCTURE TO CntctLst;

FIELDS CONTACT->C_SOCIETE, ;

SOCIETE->SOCIETE, CONTACT->CONTACT, ;

SOCIETE->RUE1, SOCIETE->RUE2, ;

SOCIETE->VILLE, SOCIETE->ETAT,;

SOCIETE->CODE_POST

USE CntctLst IN SELECT( )

table3 = ALIAS( )

APPEND

SELECT &table1

? ALIAS( ),DBF( ),WORKAREA( )

SELECT &table3

? ALIAS( ),DBF( ),WORKAREA( )

SELECT &table2

? ALIAS( ),DBF( ),WORKAREA( )

SELECT 3

? ALIAS( ),DBF( ),WORKAREA( )

SELECT 1

? ALIAS( ),DBF( ),WORKAREA( )

SELECT 2

? ALIAS( ),DBF( ),WORKAREA( )

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.