RELATE ONE SELECTION
RELATE ONE SELECTION ( tabelaN ; tabela1 )
Parâmetro | Tipo | Descrição | |
---|---|---|---|
tabelaN | Table | → | Nome da tabela Muitos (onde inicia a relação) |
tabela1 | Table | → | Nome da Tabela Um (onde termina a relação) |
Descriçã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.
Exemplo
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])
Observe: A partir da versão 11, este código pode ser inscrito desta maneira sem perder o rendimento:
QUERY([Clientes];[Faturas]DataVence=Current date)
Ver também
Conjuntos
QUERY
RELATE MANY SELECTION
RELATE ONE