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 “”:
Constante |
Tipo |
Valor |
Automatic |
Entero largo |
3 |
Manual |
Entero largo |
2 |
No relation |
Entero largo |
0 |
Structure configuration |
Entero largo |
1 |
- 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 pasa el parámetro opcional *, sólo pueden devolverse los valores 2 ó 3 en los parámetros uno y muchos.
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 y SET FIELD RELATION, SET AUTOMATIC RELATIONS así como sus efectos:
GET AUTOMATIC RELATIONS(one;many)
GET FIELD RELATION([Empleados]Empresa;one;many)
GET FIELD RELATION([Empleados]Empresa;one;many;*)
SET FIELD RELATION([Empleados]Empresa;2;0)
GET FIELD RELATION([Empleados]Empresa;one;many)
GET FIELD RELATION([Empleados]Empresa;one;many;*)
SET FIELD RELATION([Empleados]Empresa;1;0)
GET FIELD RELATION([Empleados]Empresa;one;many)
GET FIELD RELATION([Empleados]Empresa;one;many;*)
SET AUTOMATIC RELATIONS(True;True)
GET AUTOMATIC RELATIONS(one;many)
GET FIELD RELATION([Employees]Company;one;many)
GET FIELD RELATION([Employees]Company;one;many;*)