Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Composition Setup
import.css=/download/attachments/327912/newLayout.css

...

Pagetitle
DBSetOrder
DBSetOrder

Função: DBSetOrder

Seleciona

...

a

...

ordem

...

ativa

...

da

...

área

...

de

...

trabalho.

...


Esta

...

ordem

...

é

...

responsável

...

sequência

...

lógica

...

dos

...

registros

...

da

...

tabela

...

corrente.

Sintaxe

Code Block
collapsefalse
DBSetOrder( [ nOrdem ] )
--> Nil

Parâmetros

...

Nome

Tipo

Descrição

Obrigatório

Referência

nOrdem

...

numérico

Indica o número da posição da ordem na lista de ordens ativas.

 

 

Retorno

Nil (Nulo)

Nome

Tipo

Descrição

uRet

nil

Sempre retorna nulo.

Observações

  • Esta ordem é a responsável pela sequência lógica dos registros da tabela corrente.
  • Caso seja setada a ordem 0 (zero), a tabela corrente, na área de trabalho,

...

  • será posicionada na ordem

...

  • em que os registros foram

...

  • inseridos, porém os indexadores são mantidos abertos.

...

  • É importante salientar que, quando alterada a ordem atual de uma determinada tabela, o registro atual não é desposicionado.

Exemplos

//Este exemplo, apresenta como utilizar a função DBSetOrder() para selecionar a ordem corrente.USE Cliente NEWSET INDEX TO Nome,CepDBSetOrder(2)
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server
Code Block
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}, ;
                  {"FIELD_TYPE", "C", 10, 0}}, "TOPCONN")

  DBUseArea(.F., "TOPCONN", cT1, (cT1), .F., .F.)

  DBCreateIndex("T1INDEX1", "FIELD_COD"            , {|| FIELD_COD            })
  DBCreateIndex("T1INDEX2", "FIELD_COD+FIELD_NAME" , {|| FIELD_COD+FIELD_NAME })
  DBCreateIndex("T1INDEX3", "FIELD_NAME+FIELD_TYPE", {|| FIELD_NAME+FIELD_TYPE})
  (cT1)->( DBClearIndex() ) //Força o fechamento dos índices abertos
  
  dbSetIndex("T1INDEX1") //acrescenta a ordem de índice para a área aberta
  dbSetIndex("T1INDEX2") //acrescenta a ordem de índice para a área aberta
  dbSetIndex("T1INDEX3") //acrescenta a ordem de índice para a área aberta
  
  DBSetOrder(2)
  nIdxOrd := IndexOrd()
  msgInfo("Ordem de índice ativo: " + cValToChar( nIdxOrd ) + chr(13)+chr(10) + "Chave de índice ativo: " + IndexKey(nIdxOrd))
  
tcUnLink()

return

Veja também