Altera o estado deletado de alguns registros.
Sintaxe
RECALL [FOR CondFor] [WHILE CondWhile] [NEXT nRecs] [RECORD nRecno] [REST] [ALL]
Argumento | Obrigat. | Tipo | Descrição |
CondFor | Sim | Expressão em ADVPL a ser resolvida para o registro ser aceito. | |
CondWhile | Não | Expressão em ADVPL que determina quando a busca deve parar (quando a expressão retornar .F.. | |
nRecs | Não | N | Quando registros devem ser verificados. |
nRecno | Não | N | Número do recno do registro a ser verificado. |
Retorno | Descrição |
NIL | Sem retorno |
Descrição
Este comando é utilizado para retirar a marca de registro deletado de alguns registros.
Para ser executado, os registros em questão devem estar bloqueados ou a tabela deve estar aberta em modo exclusivo. Se o registro não estiver deletado, este comando não faz nada.
Ele é o oposto da função DBDELETE, que marca o registro atual como deletado.
A seleção dos registros a serem alterados é feita da seguinte forma:
- se todas as opções forem omitidas ele é executado apenas para o registro atual;
- se for especificada uma condição de “FOR”, o escopo abrange todos os arquivos (“ALL”);
- o escopo vai até quando a condição de “WHILE” retorna .F.;
- o parâmetro “NEXT nRecs” determina quantos registros devem ser alterados;
- o parâmetro “RECORD nRecno” especifica qual recno do registro deve ser alterado;
- a opção “REST” determina que serão processados os registros a partir do registro atual. Caso seja omitida, o comando começa a processar a partir do primeiro registro.
Exemplo
Este exemplo demonstra como se pode utilizar o RECALL para retornar o estado do registro atual para normal.
USE Cliente
DBGOTO(100)
DBDELETE()
DELETED() // Retorna: .T.
RECALL
DELETED() // Retorna: .F.
Este exemplo demonstra como se pode utilizar o RECALL para retornar o estado de todos os registros que apresentam idade>30.
USE Cliente
RECALL FOR Idade>30
Este exemplo demonstra como se pode utilizar o RECALL para retornar o estado de todos os registros com idade maior que 30 e Nome = Joao a partir do registro atual.
USE Cliente
RECALL FOR Idade>30 WHILE Nome=”Joao” REST