RELATE ONE

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 3


RELATE ONE (tablasN | CampoN{; discriminante})

ParámetroTipoDescripción
tablasN | CampoNTabla | CampoTabla para la cual definir todas las relaciones
automáticas o Campo con la relación manual con la
tabla Uno
discriminanteCampoCampo discriminante de la tabla 1

Descripción

RELATE ONE acepta dos sintaxis.

La primera sintaxis del comando, RELATE ONE(tablaN), activa todas las relaciones Muchos a Uno automáticas para la tabla tablaN en el proceso actual. Esto significa que para cada campo de la tabla tablaN que tenga una relación Muchos a Uno automática, el comando seleccionará el registro relacionado en cada tabla relacionada. Esto cambia el registro actual en la(s) tabla(s) relacionadas para el proceso.

La segunda sintaxis, RELATE ONE(campoN{;discriminante}), busca el registro relacionado con campoN. No es necesario que la relación sea automática. Si existe, RELATE ONE carga en memoria el registro relacionado, volviéndolo el registro y la selección actual de la tabla.

El parámetro opcional discriminante sólo puede ser especificado si campoN es de tipo Alfa. El campo discriminante debe ser un campo de la tabla relacionada y puede ser de tipo Alfa, Numérico, Fecha, Hora, o Booleano; No puede ser tipo Texto, Imagen, BLOB, o subtabla.

Si campoN se especifica y si más de un registro se encuentra en la tabla relacionada, RELATE ONE muestra una lista de registros que corresponden al valor de campoN, permitiendo al usuario seleccionar un registro. En esta lista, la columna de la izquierda muestra los valores de los campos relacionados, y la columna de la derecha los valores de discriminante.

Se podría encontrar más de un registro si campoN termina con el carácter arroba (@). Si sólo hay una coincidencia, no aparece la lista. Especificar un campo en discriminante es lo mismo que definir un campo discriminante en la caja de diálogo de definición de las propiedades de una relación en el entorno Diseño. Para mayor información sobre la definición de un campo discriminante, consulte el Manual de Diseño de 4D.

RELATE ONE funciona con las relaciones a las subtablas, pero para que la relación funcione correctamente debe haber una relación con la tabla padre y el campo relacionado de la subtabla. Cuando utilice una relación con un subregistro, primero debe utilizar RELATE ONE para cargar el registro relacionado en memoria y luego utilizar por segunda vez RELATE ONE para la subtabla.

Ejemplo

En el siguiente ejemplo, la tabla [Facturas] está relacionada a la tabla [Clientes] por dos relaciones manuales. Una relación parte del campo [Facturas]A nombre de al campo [Clientes]ID, y la otra relación va de [Facturas]Enviar a a [Clientes]ID.

Como las dos relaciones apuntan a la misma tabla, [Clientes], no es posible obtener la información de facturación y envío al mismo tiempo. Por lo tanto, la información debe ser mostrada utilizando variables. Si el formulario contiene los campos [Clientes], sólo se mostrarán los valores resultantes de la segunda relación.

Los siguientes métodos son los métodos de objeto de los campos [Facturas]Facturar a y [Facturas]Enviar a. Estos métodos se ejecutan cuando se introducen los campos.

Este es el método de objeto para el campo [Facturas]Facturar a:

   RELATE ONE ([Facturas]Facturar a) 
   vDireccion1 := [Clientes]Direccion 
   vCiudad1 := [Clientes]Ciudad
   vEstado1 := [Clientes]Estado 
   vCodigo1 := [Clientes]CodigoPostal

Este es el método de objeto para el campo [Facturas]Enviar a:

   RELATE ONE ([Facturas]Enviar a) 
   vDireccion2 := [Clientes]Direccion
   vCiudad2 := [Clientes]Ciudad
   vEstado2 := [Clientes]Estado
   vCodigo2 := [Clientes]CodigoPostal

Ver también

OLD RELATED ONE, RELATE MANY.


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