versión 2004
GET FIELD RELATION (campoN; uno; muchos{; *})
Parámetro | Tipo | Descripción | |
campoN | Campo | Campo de inicio de una relación | |
uno | Entero largo | Estado de la relación Muchos a Uno | |
muchos | Entero largo | Estado de la relación Uno a Muchos | |
* | * | Si se pasa: uno y muchos devuelven el estado actual | |
de la relación (valores 2 o 3 únicamente) | |||
Si se omite (por defecto): uno y muchos puede | |||
devolver el valor 1 si la relación no ha sido modificada | |||
por programación |
Descripción
El comando GET FIELD RELATION permite conocer el estado automático/manual de la relación comenzando desde el campoN para el proceso actual. Todas las relaciones pueden ser consultadas, incluyendo las relaciones automáticas en la ventana de Estructura.
Pase en campoN, el nombre del campo de la tabla N desde donde comienza la relación cuyo estado quiere conocer. Si ninguna relación se origina desde el campo campoN, los parámetros uno y muchos devuelven 0, se genera un error y la variable sistema OK toma el valor 0 (ver a continuación).
Después de la ejecución del comando, la variable uno contiene un valor indicando si la relación Muchos a Uno especificada está definida como automática:
0 = no hay relación desde campoN. Se genera el error de sintaxis No. 16 ("El campo no tiene relación") y la variable sistema OK toma el valor 0. | |
1 = el estado automático/manual de la relación Muchos a Uno especificado está definido por la opción Relación Muchos a Uno automática en las propiedades de la relación en el entorno Diseño (no ha sido modificado por programación). | |
2 = la relación Muchos a Uno es manual para el proceso. | |
3 = la relación Muchos a Uno es automática para el proceso. |
Después de la ejecución del comando, el parámetro muchos contiene un valor indicando si la relación Uno a Muchos especificada está definida como automática:
0 = no hay relación desde campoN. Se genera el error de sintaxis No. 16 ("El campo no tiene relación") y la variable sistema OK toma el valor 0. | |
1 = el estado automático/manual de la relación Uno a Muchos especificada está definido por la opción Relación Uno a Muchos automática en las propiedades de la relación en el entorno Diseño (no ha sido modificado por programación). | |
2 = la relación Uno a Muchos es manual para el proceso. | |
3 = la relación Uno a Muchos es automática para el proceso. |
Puede comparar los valores recibidos en los parámetros uno y muchos con las constantes del tema "Relaciones":
Constante | Tipo | Valor |
No relation | Entero largo | 0 |
Structure configuration | Entero largo | 1 |
Manual | Entero largo | 2 |
Automatic | Entero largo | 3 |
El parámetro opcional * permite "forzar" la lectura del estado actual de la relación, incluso si no ha sido modificado por programación. En otras palabras, cuando usted pasa el parámetro opcional *, sólo los valores 2 ó 3 pueden ser devueltos en los parámetros uno y muchos.
Ejemplo
Dada la siguiente estructura:
Las propiedades de la relación que une el campo [Empleados]Empresa con el campo[Empresas]Nombre son las siguientes:
El siguiente código ilustra las diferentes posibilidades ofrecidas por los comandos GET FIELD RELATION, GET AUTOMATIC RELATIONS, SET FIELD RELATION y SET AUTOMATIC RELATIONS así como sus efectos:
GET AUTOMATIC RELATIONS(uno;muchos) `devuelve False, False GET FIELD RELATION([Empleados]Empresa;uno;muchos) `devuelve 1,1 GET FIELD RELATION([Empleados]Empresa;uno;muchos;*) `devuelve 3,3 SET FIELD RELATION ([Empleados]Empresa;2;0) `cambia la relación Muchos a Uno a manual GET FIELD RELATION([Empleados]Empresa;uno;muchos) `uno 2,1 GET FIELD RELATION([Empleados]Empresa;uno;muchos;*) `uno 2, 3 SET FIELD RELATION ([Empleados]Empresa;1;0) `restablece los parámetros definidos en `el entorno Diseño para la relación Muchos a Uno GET FIELD RELATION([Empleados]Empresa;uno;muchos) `uno 1,1 GET FIELD RELATION([Empleados]Empresa;uno;muchos;*) `uno 3,3 SET AUTOMATIC RELATIONS(True;True) `cambia todas lar relaciones de todas las tablas a automáticas GET AUTOMATIC RELATIONS(uno;muchos) `devuelve True, True GET FIELD RELATION([Empleados]Empresa;uno;muchos) `devuelve 3,3 GET FIELD RELATION([Empleados]Empresa;uno;muchos;*) `devuelve 3,3
Ver también
GET AUTOMATIC RELATIONS, GET RELATION PROPERTIES, SET AUTOMATIC RELATIONS, SET FIELD RELATION.