4D v14.3

RELATE ONE

Página Inicial

 
4D v14.3
RELATE ONE

RELATE ONE 


 

RELATE ONE ( tabelasN | campoN {; discriminante } ) 
Parâmetro Tipo   Descrição
tabelasN | campoN  Tabela, Campo in Tabela para a qual estabelecer todas as relações automáticas, ou Campo com as relações manuais para tabela Um
discriminante   Campo in Campo discriminante da tabela 1

RELATE ONE aceita duas sintaxes.

A primeira sintaxe do comando, RELATE ONE(tabelaN), ativa todas as relações Muitos a Um automáticas para a tabela tabelaN no processo atual. Isso significa que para cada campo da tabela tabelaN que tenha uma relação Muitos a Um automática, o comando selecionará o registro relacionado em cada tabela relacionada. Isso muda o registro atual na(s) tabela(s) relacionadas para o processo.

A segunda sintaxe, RELATE ONE(campoN{;discriminante}), busca o registro relacionado com campoN. Não é necessário que a relação seja automática. Se existir, RELATE ONE carrega em memória o registro relacionado, dolo o registro e a seleção atual da tabela.

O parâmetro opcional discriminante só pode ser especificado se campoN é de tipo Texto ou Alfa. O campo discriminante deve ser um campo da tabela relacionada e pode ser de tipo Alfa, Texto, Numérico, Data, Hora, ou Booleano; Não pode ser tipo Imagem ou BLOB.

Se campoN é especificado e se mais de um registro é encontrado na tabela relacionada, RELATE ONE mostra uma lista de registros que correspondem ao valor de campoN, permitindo ao usuário selecionar um registro. Nessa lista, a coluna da esquerda mostra os valores dos campos relacionados, e a coluna da direita os valores de discriminante.

Seria possível encontrar mais de um registro se campoN termina com o caractere arroba (@). Se só houver uma coincidência, não aparece a lista. Especificar um campo em discriminante é o mesmo que definir um campo discriminante na caixa de diálogo de definição das propriedades de uma relação no ambiente Desenho. Para maior informação sobre a definição de um campo discriminante, consulte o Manual de Desenho de 4D.

Exemplo  

No  exemplo a seguir, a tabela [Faturas] está relacionada a tabela [Clientes] por duas relações manuais. Uma relação parte do campo [Faturas]Cobrar de ao campo [Clientes]ID, e a outra relação vai de [Faturas]Enviar a [Clientes]ID.

Como as duas relações apontam a mesma tabela, [Clientes], não é possível obter a informação de faturação e envio ao mesmo tempo. Portanto, a informação deve ser mostrada utilizando variáveis. Se o formulário contiver os campos [Clientes], só se mostrarão os valores resultantes da segunda relação.

Os seguintes métodos são os métodos de objeto dos campos [Faturas]Cobrar de e [Faturas]Enviar a. Estes métodos são executados quando são introduzidos campos.

Este é o método de objeto para o campo [Faturas]Cobrar de:

 RELATE ONE([Faturas]Cobrar de
 vDireccion1:=[Clientes]Direção
 vCiudad1:=[Clientes]Cidade
 vEstado1:=[Clientes]Estado
 vCodigo1:=[Clientes]CodigoPostal

Este é o método de objeto para o campo [Faturas]Enviar a:

 RELATE ONE([Faturas]Enviar a)
 vDireccion2:=[Clientes]Direção
 vCiudad2:=[Clientes]Cidade
 vEstado2:=[Clientes]Estado
 vCodigo2:=[Clientes]CodigoPostal

Se o comando for executado corretamente e se os registros relacionados forem carregados, a variável sistema OK toma o valor 1. Se o usuário clicar em Cancelar na caixa de diálogo de selecção do registro (que aparece quando o registro relacionado tiver sido modificado), a variável OK toma o valor 0.

 
PROPRIEDADES 

Produto: 4D
Tema: Relações
Número 42

Este comando modifica a variável sistema OKO comando altera o registro atualO comando altera a seleção atual

 
HISTÓRIA 

Modificado: 4D v11 SQL

 
VER TAMBÉM 

OLD RELATED ONE
RELATE MANY

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v12.4)
Manual de linguagem 4D ( 4D v11 SQL Release 6)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v13.5)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)