Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
RELATE ONE SELECTION
|
RELATE ONE SELECTION ( tablaN ; tabla1 ) | ||||||||
Parámetro | Tipo | Descripción | ||||||
tablaN | Tabla |
![]() |
Nombre de la tabla Muchos (donde inicia la relación) | |||||
tabla1 | Tabla |
![]() |
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. Cuando existen relaciones automáticas, siempre son utilizadas en primer lugar por RELATE ONE SELECTION. Cuando son posibles varios caminos desde la tabla de partida hasta la tabla de destino, RELATE ONE SELECTION toma el más corto, utilizando relaciones automáticas (si existen). Si existen rutas del mismo tamaño y se desea controlar la ruta utilizada, o si se desea «forzar» el uso de relaciones manuales, es necesario utilizar el comando SET FIELD RELATION.
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)
Producto: 4D
Tema: Relaciones
Número
349
Modificado: 4D v6
Manual de lenguaje 4D ( 4D v19)
Manual de lenguaje 4D ( 4D v19.1)
Manual de lenguaje 4D ( 4D v19.4)
Manual de lenguaje 4D ( 4D v19.5)
Manual de lenguaje 4D ( 4D v19.6)
Manual de lenguaje 4D ( 4D v19.7)
Manual de lenguaje 4D ( 4D v19.8)