4D v16.3

GET FIELD RELATION

Página Inicial

 
4D v16.3
GET FIELD RELATION

GET FIELD RELATION 


 

GET FIELD RELATION ( campoN ; um ; muitos {; *} )  
Parâmetro Tipo   Descrição
campoN  Campo in Iniciar campo da relação
um  Inteiro longo in Estado das relações Muitos a Um
muitos  Inteiro longo in Estado da relação Um a Muitos
Operador in Se passado: um e muitos retorna o estado atual da relação (valores 2 ou 3 apenas) * se omitido (padrão): um e muitos podem retornar o valor 1 se a relação não foi modificada através de programação

O comando GET FIELD RELATION permite conhecer o estado automático/manual da relação começando desde o campoN para o processo atual. Todas as relações podem ser consultadas, incluindo as relações automáticas na janela de Estrutura.

Passe em campoN, o nome do campo da tabela N desde onde começa a relação cujo estado queira conhecer. Se nenhuma relação se origina desde o campo campoN, os parâmetros um e muitos devolvem 0, se gera um erro e a variável sistema OK toma o valor 0 (ver a continuação).

  • Depois da execução do comando, a variável um contém um valor indicando se a relação Muitos a Um especificada está definida como automática:

      0 = não há relação desde campoN. Se gera o erro de sintaxe No. 16 (“O campo não tem relação”) e a variável sistema OK toma o valor 0.
      1 = o estado automático/manual da relação Muitos a Um especificado está definido pela opção Relação Muitos a Um automática nas propriedades da relação no ambiente Desenho (não foi modificado por programação).
      2 = a relação Muitos a Um é manual para o processo.
      3 = a relação Muitos a Um é automática para o processo.

Depois da execução do comando, o parâmetro muitos contém um valor indicando se a relação Um a Muitos especificada está definida como automática:
      0 = não há relação desde campoN. Se gera o erro de sintaxe No. 16 (“O campo não tem relação”) e a variável sistema OK toma o valor 0.
      1 = o estado automático/manual da relação Um a Muitos especificada está definido pela opção Relação Um a Muitos automática
      2 = a relação Um a Muitos é manual para o processo.
      3 = a relação Um a Muitos é automática para o processo.

Pode comparar os valores recebidos nos parâmetros um e muitos com as constantes do tema  “Relações”:

Constante Tipo Valor
Automatic Inteiro longo 3
Manual Inteiro longo 2
No relation Inteiro longo 0
Structure configuration Inteiro longo 1
  • O parâmetro opcional * permite “forçar” a leitura do estado atual da relação, inclusive se não foi modificado por programação. Em outras palavras, quando passa o parâmetro opcional *, só podem ser devolvidos os valores 2 ou 3  nos parâmetros um e muitos.

Exemplo  

Dada a seguinte estrutura:

As propriedades da relação que une o campo [Empregados]Empresa com o campo[Empresas]Nome são as seguintes:

O código a seguir ilustra as diferentes possibilidades oferecidas pelos comandos GET FIELD RELATION, GET AUTOMATIC RELATIONS e SET FIELD RELATION, SET AUTOMATIC RELATIONS assim como seus efeitos:

 GET AUTOMATIC RELATIONS(um;muitos) `devolve False, False
 GET FIELD RELATION([Empregados]Empresa;um;muitos) `devolve 1,1
 GET FIELD RELATION([Empregados]Empresa;um;muitos;*) `devolve 3,2
 
 SET FIELD RELATION([Empregados]Empresa;2;0) `muda a relação Muitos a Um a manual
 
 GET FIELD RELATION([Empregados]Empresa;um;muitos) `devolve 2,1
 GET FIELD RELATION([Empregados]Empresa;um;muitos;*) `devolve 2, 2
 
 SET FIELD RELATION([Empregados]Empresa;1;0) `restabelece os parâmetros definidos no ambiente Desenho para a relação Muitos a Um
 
 GET FIELD RELATION([Empregados]Empresa;um;muitos) `devolve 1,1
 GET FIELD RELATION([Empregados]Empresa;um;muitos;*) `devolve 3,2
 
 SET AUTOMATIC RELATIONS(True;True`muda todas as relações de todas as tabelas a automáticas
 
 GET AUTOMATIC RELATIONS(um;muitos) `devolve True, True
 GET FIELD RELATION([Empregados]Empresa;um;muitos) `devolve 1,1
 GET FIELD RELATION([Empregados]Empresa;um;muitos;*) `devolve 3,3



Ver também 

GET AUTOMATIC RELATIONS
GET RELATION PROPERTIES
SET AUTOMATIC RELATIONS
SET FIELD RELATION

 
PROPRIEDADES 

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

This command can be run in preemptive processes

 
HISTÓRIA 

Criado por: 4D 2004

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)