Saltar para o conteúdo principal
Versão: 20 R7 BETA

RELATE ONE SELECTION

RELATE ONE SELECTION ( tabelaN ; tabela1 )

ParâmetroTipoDescrição
tabelaNTableNome da tabela Muitos (onde inicia a relação)
tabela1TableNome 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

Propriedades

Número do comando349
Thread-seguro
Modificar o registro atual
Modificar a seleção atual