Verifica a posição do índice corrente; e retorna a posição ocupada pelo índice corrente na lista de índices.

Sintaxe

IndexOrd()

Retorno

Nome

Tipo

Descrição

nOrd

numérico

Retorna a posição do índice corrente na lista de índices da tabela.
Obs.: Retorna 0 (zero) caso não exista índice aberto na tabela corrente.

Observações

  • Por padrão, a função IndexOrd() 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.

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("Ordem de índice ativo: " + cValToChar( IndexOrd() ))
   
  DBCloseArea()
  tcUnLink()

return

Veja também


  • Sem rótulos