4D v16.3

RELATE ONE SELECTION

Inicio

 
4D v16.3
RELATE ONE SELECTION

RELATE ONE SELECTION 


 

RELATE ONE SELECTION ( tablaN ; tabla1 ) 
Parámetro Tipo   Descripción
tablaN  Tabla in Nombre de la tabla Muchos (donde inicia la relación)
tabla1  Tabla in Nombre de la tabla Uno (donde termina la relación)

El comando RELATE ONE SELECTION crea una nueva selección de registros en tabla1 a partir de la selección de registros de la tablaN relacionada y carga el primer registro de la nueva selección como el registro actual.

Este comando sólo puede utilizarse si hay una relación de Muchos a Uno. RELATE ONE SELECTION puede funcionar a través de varios niveles de relaciones. Puede haber varias tablas relacionadas entre la tabla Muchos y la tabla 1. Las relaciones pueden ser manuales o automáticas.

RELATE ONE SELECTION utiliza la "ruta más corta" para pasar de la taba de inicio a la tabla de destino. Si las rutas existentes son de tamaño equivalente, debe llamar al comando SET FIELD RELATION si quiere controlar la ruta utilizada. 

Ejemplo  

El siguiente ejemplo busca los clientes cuyas facturas se vencen hoy. 

Esta es una manera de crear una selección en la tabla [Clientes], a partir de una selección de registros de la tabla [Facturas]:

 CREATE EMPTY SET([Clientes];"Fecha de vencimiento del pago")
 QUERY([Facturas];[Facturas]FechaVence=Current date)
 While(Not(End selection([Facturas])))
    RELATE ONE([Facturas]CustID)
    ADD TO SET([Clientes];"Fecha de vencimiento del pago")
    NEXT RECORD([Invoices])
 End while

La siguiente técnica utiliza RELATE ONE SELECTION para obtener el mismo resultado:

 QUERY([Facturas];[Facturas]FechaVence=Current date)
 RELATE ONE SELECTION([Facturas];[Clientes])

Note: a partir de la versión 11, este código puede escribirse de esta manera sin perdida de rendimiento:

 QUERY([Clientes];[Facturas]FechaVence=Current date)



Ver también 

Conjuntos
QUERY
RELATE MANY SELECTION
RELATE ONE

 
PROPIEDADES 

Producto: 4D
Tema: Relaciones
Número 349

El comando cambia el registro actualEl comando cambia la selección actualThis command can be run in preemptive processes

 
HISTORIA 

Modificado: 4D v6

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)