Bloqueia o registro corrente da tabela ativa.

Sintaxe

RLOCK() –> Lógico

RetornoDescrição
.F.Não conseguiu bloquear o registro. Principal motivo: o registro já está bloqueado por outro usuário.
.T.O registro foi bloqueado com sucesso.

Descrição

Esta função é utilizada quando se tem uma tabela aberta e compartilhada, e se deseja bloquear um registro para que outros usuários não possam alterá-lo. Se a tabela já está aberta em modo exclusivo, a função não altera seu estado.

Exemplo

Este exemplo utiliza a função RLOCK() para deletar o registro com o nome “Joao” da tabela de Clientes indexada por Nome:

USE Clientes INDEX Nome SHARED NEW

SEEK “Joao”

IF FOUND()

IF RLOCK()

DELETE

Messagebox(“Joao deletado”,”OK”, 0)

ELSE

Messagebox(“Registro utilizado por outro usuário”,”Erro”, 0)

ENDIF

ELSE

Messagebox(“Registro não encontrado”,”Erro”, 0)

ENDIF

CLOSE

//Este exemplo mostra como se pode bloquear um registro sem que ele esteja na tabela corrente

USE VENDAS NEW

USE CLIENTES NEW

//

IF !VENDAS->(RLOCK())

Messagebox(“Registro utilizado por outro usuário”,”Erro”, 0)

BREAK

ENDIF

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Necessita de ajuda?