GO
 Move o ponteiro de registro para um registro específico
------------------------------------------------------------------------------

 Sintaxe

     GO[TO] <nRegistro> | BOTTOM | TOP

 Argumentos

     <nRegistro> especifica o número do registro destino.

     BOTTOM especifica o último registro na área de trabalho corrente.

     TOP especifica o primeiro registro na área de trabalho corrente.

 Descriçao

     O comando GO posiciona o ponteiro num registro especificado na área de
     trabalho corrente.  O registro pode ser especificado através de seu
     número ou como registro início ou fim do arquivo.  Se a nova posiçao é
     início (TOP) e há um índice ativo, o ponteiro de registros vai até o
     primeiro registro do índice, ou entao para o registro 1.  Caso a nova
     posiçao seja fim (BOTTOM) e haja um índice ativo, o ponteiro de
     registros vai para o último registro do índice, ou entao para a funçao
     LASTREC().

     A forma GO <nRegistro> do comando é a mesma da cláusula RECORD de
     qualquer comando de arquivo de dados que aceite uma abrangência.

 Notas

       Acessando registros filtrados: Os registros filtrados
        pelos comandos SET DELETED ON ou SET FILTER TO podem ser acessados
        por GO <nRegistro>.  Se o comando DELETED estiver em ON ou se houver
        um FILTER ativo, o comando GO BOTTOM vai para o último registro
        lógico que nao tiver sido marcado e/ou atenda a condiçao do filtro.
        Caso o comando DELETED estiver em ON ou haja um FILTER ativo, o
        comando GO TOP vai para o primeiro registro lógico que nao tiver
        sido marcado e/ou atenda a condiçao do filtro.

       Indices de chave única: Registros nao presentes em um
        índice criado com SET UNIQUE ON ou INDEX...UNIQUE podem ser
        acessados pelo comando GO <nRegistro>.

       Registro fora da faixa: Em Clipper, um comando GO que
        posiciona o ponteiro num registro fora do alcance do arquivo de
        dados nao gera um erro em tempo de execuçao.  Pelo contrário, as
        funçoes EOF() e BOF() retornam verdadeiras (.T.) e o ponteiro de
        registros é ajustado para LASTREC() + 1.

       Refresh dos buffers de arquivos de dados e de índices:
        Num ambiente de rede, você pode fazer refresh dos buffers de
        arquivos de dados e de índices sem mover o ponteiro de registros,
        usando a funçao  GO RECNO().  Consulte o capítulo sobre Programando
        em Rede no livro Programando e Utilitários para mais informaçoes.

 Exemplos

     Estes exemplos mostram resultados do comando GO simples:

     USE Sales NEW
     ? LASTREC()                              // Resulta: 84

     GO TOP
     ? RECNO()                                // Resulta: 1

     GO BOTTOM
     ? RECNO()                                // Resulta: 84

     GO 5
     ? RECNO()                                // Resulta: 5

     GO 5 + 15
     ? RECNO()                                // Resulta: 20

 Arquivos:  Biblioteca CLIPPER.LIB.
 To download this example - click here.

See Also: SET FILTER SET RELATION SKIP LASTREC() RECNO()