Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
...
Pagetitle |
---|
...
|
...
...
...
|
Desloca
...
para
...
outro
...
registro
...
na
...
tabela
...
corrente.
Sintaxe
Bloco de código | ||
---|---|---|
| ||
DBSkip( [nRegistros nReg ] )--> Nil
|
Parâmetros
...
Nome | Tipo | Descrição | Obrigatório | Referência |
---|
...
nReg |
...
numérico | Indica o número de registros que serão deslocados a partir do corrente. |
...
. Caso seja negativo, ao início da tabela. |
...
|
...
: 1. |
|
|
Retorno
Nome | Tipo | Descrição |
---|---|---|
uRet | nil | Sempre retorna nulo. |
...
Observações
- Essa função é utilizada para deslocar o ponteiro de registro da tabela para outro registro a partir do registro atual. O deslocamento é lógico, ou seja, leva em consideração a ordem no índice atualmente em uso, e também a expressão de filtro, caso exista.
- O uso da DBSkip sem uma tabela aberta resultará na mensagem de erro: "Work area not in use".
- Caso o deslocamento seja negativo (registros anteriores), e passe do início da tabela, o primeiro registro é posicionado
...
- e a flag de início da tabela (BOF) é setado.
- Caso o deslocamento seja positivo (registros posteriores), e passe do final da tabela, a tabela é posicionada no registro "LastRec()+1",
...
- e a flag de final de arquivo (EOF) é setada.
Neste último caso, se
...
- a RDD for
...
- TOPCONN, o Recno
...
- retornado será por convenção "LastRec() + 5000".
- O comportamento da DBSkip é influenciado pelo uso do comando SET DELETED.
Exemplos
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
static function CreateTable()
TCDelFile('T1')
DBCreate('T1', {{"FIELD_NAME", "C", 10, 0}, ;
{"FIELD_TYPE", "C", 10, 0}}, 'TOPCONN')
return
user function test()
Local cT1 := "T1"
TCLink()
CreateTable()
DBUseArea(.F., 'TOPCONN', cT1, (cT1), .F., .F.)
for nI := 1 to 20
(cT1)->( DBAppend( .F. ) )
(cT1)->FIELD_NAME := "name" + cValtoChar(nI)
(cT1)->FIELD_TYPE := "string"
(cT1)->( DBCommit() )
next
DBGoTop()
DBSkip(-1) //esta execução, após o DBGoTop, posiciona no início (BOF) da tabela
msgInfo("Current Record: " + cValtoChar( recno() ))
DBSkip(10) //desloca 10 registros "para frente"
msgInfo("Current Record: " + cValtoChar( recno() ))
DBSkip(-5) //desloca 5 registros "para trás"
msgInfo("Current Record: " + cValtoChar( recno() ))
DBSkip() //desloca 1 registro "para frente", respeitando seu valor default (1)
msgInfo("Current Record: " + cValtoChar( recno() ))
DBSkip(100)//desloca 100 registros "para frente", mas como só há 20 registros na tabela, posiciona no fim da tabela (EOF)
msgInfo("Current Record: " + cValtoChar( recno() ))
DBCloseArea()
TCUnlink()
return
//Este exemplo, apresente como a função DBSkip() pode passar do final da tabela//e do início da tabela. DBUseArea( .T.,"dbfcdxads", "\dadosadv609\sa1990.dbf","SSS",.T., .F. ) DBGoBottom() EOF() // retorna .F. DBSkip() EOF() // retorna .T. DBGoTop() BOF() // retorna .F. DBSkip(-1) BOF() // retorna .T. //Este exemplo, apresenta o deslocamento de 10 registros em relação ao registro corrente. DBUseArea(.T.,"dbfcdxads", "\dadosadv609\sa1990.dbf","SSS",.T., .F. ) DBGoTo(100) DBSkip(10) RECNO() // retorna 110 DBSkip(-10) Recno() // retorna 100 Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas