Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
RELATE ONE SELECTION
|
RELATE ONE SELECTION ( tabelaN ; tabela1 ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
tabelaN | Tabela |
![]() |
Nome da tabela Muitos (onde inicia a relação) | |||||
tabela1 | Tabela |
![]() |
Nome da Tabela Um (onde termina a relação) | |||||
O comando RELATE ONE SELECTION cria uma nova seleção de registros em tabela1 a partir da seleção de registros da tabelaN relacionada e carrega o primeiro registro da nova seleção como o registro atual.
Este comando só pode ser utilizado se há uma relação de Muitos a Um. RELATE ONE SELECTION pode funcionar através de vários níveis de relações. Pode haver várias tabelas relacionadas entre a tabela Muitos e a tabela 1. As relações podem ser manuais ou automáticas.
RELATE ONE SELECTION utiliza a "via mais curta" para passar da taba de início à tabela de destino. Se as vias existentes são de tamanho equivalente, e você precisar controlar o caminho utilizado, pode usar o comando SET FIELD RELATION.
O seguinte exemplo procura os clientes cujas faturas vencem hoje.
Esta é uma maneira de criar uma seleção na tabela [Clientes], a partir de uma seleção de registros da tabela [Faturas]:
CREATE EMPTY SET([Clientes];"Data de vencimento do pagamento")
QUERY([Faturas];[Faturas]DataVenc=Current date)
While(Not(End selection([Faturas])))
RELATE ONE([Faturas]ClienteID)
ADD TO SET([Clientes];"Data de vencimento do pagamento")
NEXT RECORD([Faturas])
End while
A seguinte técnica utiliza RELATE ONE SELECTION para obter o mesmo resultado:
QUERY([Faturas];[Faturas]DataVence=Current date)
RELATE ONE SELECTION([Faturas];[Clientes])
QUERY([Clientes];[Faturas]DataVence=Current date)
Produto: 4D
Tema: Relações
Número
349
Modificado: 4D v6
Manual de linguagem 4D ( 4D v20 R7)