Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v20 R7
DISTINCT ATTRIBUTE VALUES

DISTINCT ATTRIBUTE VALUES 


 

DISTINCT ATTRIBUTE VALUES ( campoObjeto ; rota ; arrayValores ) 
Parâmetro Tipo   Descrição
campoObjeto  Campo in Campo Objeto do qual obtém a lista de valores atributo distintos
rota  Texto in Rota do atributo cujos valores distintos deseja obter.
arrayValores  Array texto, Array inteiro longo, Array booleano, Array data, Time array in Valores distintos na rota atributo

Tema: Arrays

O comando DISTINCT ATTRIBUTE VALUES cria e preenche o arrayValores com valores náo repetidos (únicos) procedentes do atributo rota no campo campoObjeto para a seleção atual da tabela a que pertence o campo. Se campoObjeto não for um campo de objeto indexado, um erro é devlvido.

Passe em rota uma rota atributo válida. Utilize a notação ponto padrão para definir rotas a atributos aninhados, por exemplo "empresa.endereço.numero". Lembre que os nomes de atributos objeto são sensíveis às maiúsculas e minúsculas.

O array que passou em arrayValores deve ser do mesmo tipo que o atributo rota passado como parâmetro, do contrário o array volta ser  digitado. Só se admitem os seguintes tipos de arrays: numérico, texto, data e hora (os valores devem ser escalar: ponteiros, objetos, blobs ou imagens não são suportados).

Depois da chamada, o tamanho do array é igual ao número de valores diferentes que se encontram na seleção. O comando não muda a seleção atual ou o registro atual.

Pode usar a propriedade virtual "comprimento" com este comando. Está automaticamente disponível para todos os atributos do tipo array e oferece o tamanho do array, ou seja, o número de elementos contidos pelo array. Esta propriedade foi criada para ser usada em pesquisas (ver QUERY BY ATTRIBUTEQUERY BY ATTRIBUTE). Pode também ser usada com o comando DISTINCT ATTRIBUTE VALUES para obter os diversos tamanhos de array para um atributo.

Exemplo  

Se seu banco de dados contiver um campo objeto [Customer]full_Data (indexado) com 12 registros:

Se executar este código:

 ARRAY LONGINT(aLAges;0)
 ALL RECORDS([Customer])
  //obtém os valores distintos para o atributo  "age"
 DISTINCT ATTRIBUTE VALUES([Customer]full_Data;"age";aLAges)

O array aLAges obtém os seguintes 9 elementos:

  //aLAges{1}=33
  //aLAges{2}=35
  //aLAges{3}=36
  //aLAges{4}=40
  //aLAges{5}=42
  //aLAges{6}=44
  //aLAges{7}=52
  //aLAges{8}=54
  //aLAges{9}=60



Ver também 

DISTINCT ATTRIBUTE PATHS
Download HDI database

 
PROPRIEDADES 

Produto: 4D
Tema: Arrays
Número 1397

This command can be run in preemptive processes

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v16

 
PALAVRAS CHAVES 

object, object field

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v20 R7)