Saltar para o conteúdo principal
Versão: 21

DISTINCT ATTRIBUTE VALUES

DISTINCT ATTRIBUTE VALUES ( campoObjeto ; rota ; arrayValores )

ParâmetroTipoDescrição
campoObjetoFieldCampo Objeto do qual obtém a lista de valores atributo distintos
rotaTextRota do atributo cujos valores distintos deseja obter.
arrayValoresText array, Integer array, Boolean array, Date array, Time arrayValores distintos na rota atributo
Histórico
VersãoAlterações
16Criado por

Descrição

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.

Usar a propriedade virtual comprimento

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

Número do comando1397
Thread-seguroyes