4D v16.3

DISTINCT ATTRIBUTE VALUES

Página Inicial

 
4D v16.3
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

 
PROPRIEDADES 

Produto: 4D
Tema: Arrays
Número 1397

This command can be run in preemptive processes

 
HISTÓRIA 

New
Criado por: 4D v16

 
PALAVRAS CHAVES 

object, object field

 
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)