Árvore de páginas

Identifica a expressão da chave de índice especificado na área de trabalho corrente, e o retorna na forma de uma string.

Sintaxe

IndexKey( [ nOrdem ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

nOrdem

numérico

Indica a ordem do índice na lista de índices abertos na área de trabalho corrente.
O valor padrão 0 (zero) especifica o índice corrente, independente de sua posição real na lista.



Retorno

Nome

Tipo

Descrição

cRet

caractere

Retorna a expressão da chave do índice especificado na forma de uma string.
Caso não haja um índice correspondente, a função IndexKey() retorna uma string vazia ("").

Observações

  • Por padrão, a função IndexKey() opera na área de trabalho selecionada. Contudo, é possível fazê-la operar em uma área de trabalho não selecionada, através de expressão aliasada.
  • Caso a pesquisa por uma ordem de índice falhe, seu retorno será uma string vazia ("").
  • Caso a pesquisa por uma ordem de índice falhe para uma área não aberta, seu retorno será uma string vazia ("") e ocorrerá a mensagem de erro Work area not in use.

Exemplos

user function test()
  local cT1 := "T1"
  
  TCLink()
  if TcCanOpen(cT1)
    TCDelFile(cT1)
  endif
  
  DBCreate(cT1,  {{"T1_COD" , "C",  2, 0}, ;
                  {"T1_NAME", "C", 10, 0}}, "TOPCONN")
                  
  DBUseArea(.T., "TOPCONN", cT1, (cT1), .F., .F.)
    
  DBCreateIndex("T1INDEX1", "T1_COD"         , {|| T1_COD         })
  DBCreateIndex("T1INDEX2", "T1_COD+T1_NAME" , {|| T1_COD+T1_NAME })
  (cT1)->( DBClearIndex() ) //Força o fechamento dos indices abertos

  dbSetIndex("T1INDEX1") //acrescenta a ordem de indice para a área aberta
  dbSetIndex("T1INDEX2") //acrescenta a ordem de indice para a área aberta
  
  dbSetOrder(2)
  msgInfo("Chave de índice ativo: " + IndexKey(IndexOrd()))
  dbSetOrder(1)
  msgInfo("Chave de índice ativo: " + IndexKey(IndexOrd()))
   
  DBCloseArea()
  tcUnLink()

return

Veja também


  • Sem rótulos