GET FIELD RELATION

4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 2004


GET FIELD RELATION (campoN; uno; muchos{; *})

ParámetroTipoDescripción
campoNCampoCampo de inicio de una relación
unoEntero largoEstado de la relación Muchos a Uno
muchosEntero largoEstado 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":

ConstanteTipoValor
No relationEntero largo0
Structure configurationEntero largo1
ManualEntero largo2
AutomaticEntero largo3

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.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente