Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/327912/newLayout.css

DBSetIndex
Pagetitle
DBSetIndex

...

...

DBSetIndex

Acrescenta

...

uma

...

ou

...

mais

...

ordens

...

de

...

determinado

...

índice à área de trabalho ativa.

Sintaxe

Bloco de código
collapsefalse
DBSetIndex( <

...

 cIndex > )

Parâmetros

...

 

Nome

Tipo

Descrição

Obrigatório

Referência

...

cIndex

...

caractere

Indica o nome

...

da ordem de índice

...

que será aberta.

X

 

...

 

Nil (Nulo)
  • Quando o arquivo de índice possui apenas uma ordem, a mesma é acrescentada na lista e torna-se ativa.
  • Quando o índice possui mais de uma ordem, todas são acrescentadas na lista e a primeira torna-se ativa.
  • Para se utilizar arquivos de extensão padrão do RDD, este dado pode ser omitido no primeiro parâmetro, mas caso contrário deve ser especificado.
//Este exemplo, apresenta como utilizar a função DBSetIndex() para acrescentar novos
//índices na lista de ordens.
USE Cliente NEW
DBSetIndex("Ind1")
DBSetIndex("\teste\Ind2.cdx")
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server

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

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
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

 

...