Acrescenta uma ou mais ordens de determinado índice à área de trabalho ativa.
Sintaxe
DBSetIndex( < cIndex > )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cIndex | caractere | Indica o nome do índice que será aberto. | X |
|
Retorno
Nome | Tipo | Descrição |
---|---|---|
uRet | nil | Sempre retorna nulo. |
Observações
- Caso cIndex não exista, será apresentada a mensagem de erro: "Open index error: XXX". Onde XXX será o conteúdo de cIndex.
- Se a work area não estiver em uso, será apresentada a mensagem de erro: "Work area not in use".
- Caso informe uma string vazia no parâmetro da DBSetIndex, será apresentada a mensagem de erro: OrdListAdd: Invalid empty filename
- Abrir um novo índice não fecha os índices atualmente abertos.
- Quando a área de trabalho atual já têm algum índice aberto, a ordem atual não é alterada com a abertura de um novo índice.
- Quando o arquivo de índice possui apenas uma ordem, e a tabela não tenha nenhum índice aberto, a mesma é acrescentada na lista de ordens abertas e torna-se ativa.
- Quando o índice possui mais de uma ordem, e a tabela não tenha nenhum índice aberto, todas as ordens são acrescentadas na lista de ordens abertas e a primeira torna-se ativa.
Exemplos
user function test() local cT1 := "T1" TCLink() if TCCanOpen(cT1) TCDelFile(cT1) endif DBCreate(cT1, {{"FIELD_COD" , "C", 2, 0}, ; {"FIELD_NAME", "C", 10, 0}}, "TOPCONN") DBUseArea(.T., "TOPCONN", cT1, (cT1), .F., .F.) DBCreateIndex("T1INDEX1", "FIELD_COD" , {|| FIELD_COD }) DBCreateIndex("T1INDEX2", "FIELD_COD+FIELD_NAME" , {|| FIELD_COD+FIELD_NAME }) (cT1)->( DBClearIndex() ) //Força o fechamento dos indices abertos dbSetIndex("T1INDEX2") //acrescenta a ordem de indice para a área aberta msgInfo( "Índice ativo: " + upper(DBOrderInfo(7)) ) tcUnLink() return
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas