Instruções Lock, Unlock

Controla o acesso por outros processos a todo ou parte de um arquivo aberto usando a instrução Open .

Sintaxe

Bloquear [ # ] filenumber, [ recordrange ] . . .Desbloquear [ # ] filenumber, [ recordrange ]

A sintaxe da instrução Lock and Unlock tem estas partes:

Sair Descrição
númerodoarquivo Obrigatório. Qualquer número de arquivo válido.
Intervalo de registros Opcional. O intervalo de registros a serem bloqueados ou desbloqueados.

Configurações

As configurações de argumentodo intervalo de registros são:

recnumber | [ start ] Paraterminar

Configuração Descrição
RecNumber Número de registro (arquivos de modo aleatório ) ou número de byte (arquivos de modo binário ) no qual o bloqueio ou desbloqueio começa.
start Número do primeiro registro ou byte a ser bloqueado ou desbloqueado.
end Número do último registro ou byte a ser bloqueado ou desbloqueado.

Comentários

As instruções Lock e Unlock são usadas em ambientes em que vários processos podem precisar de acesso ao mesmo arquivo.

As instruções Lock e Unlock são sempre usadas em pares. Os argumentos para Lock e Unlock devem corresponder exatamente.

O primeiro registro ou byte em um arquivo está na posição 1, o segundo registro ou byte está na posição 2 e assim por diante. Se você especificar apenas um registro, somente esse registro será bloqueado ou desbloqueado. Se você especificar um intervalo de registros e omitir um registro inicial (início), todos os registros do primeiro registro até o final do intervalo (fim) serão bloqueados ou desbloqueados. Usar Lock sem recnumber bloqueia todo o arquivo; Usar Unlock sem recnumber desbloqueia todo o arquivo.

Se o arquivo tiver sido aberto para entrada ou saída sequencial, o Bloqueio e o Desbloqueio afetarão todo o arquivo, independentemente do intervalo especificado pelo início e pelo fim.

Importante

Certifique-se de remover todos os bloqueios com uma instrução Unlock antes de fechar um arquivo ou sair do programa. A falha na remoção de bloqueios produz resultados imprevisíveis.

Exemplo

Este exemplo ilustra o uso das instruções Lock e Unlock . Enquanto um registro está sendo modificado, o acesso por outros processos ao registro é negado. Este exemplo pressupõe que é um arquivo que TESTFILE contém cinco registros do tipo Recorddefinido pelo usuário.

Type Record    ' Define user-defined type. 
    ID As Integer 
    Name As String * 20 
End Type 
 
Dim MyRecord As Record, RecordNumber    ' Declare variables. 
' Open sample file for random access. 
Open "TESTFILE" For Random Shared As #1 Len = Len(MyRecord) 
RecordNumber = 4    ' Define record number. 
Lock #1, RecordNumber    ' Lock record. 
Get #1, RecordNumber, MyRecord    ' Read record. 
MyRecord.ID = 234    ' Modify record. 
MyRecord.Name = "John Smith" 
Put #1, RecordNumber, MyRecord    ' Write modified record. 
Unlock #1, RecordNumber    ' Unlock current record. 
Close #1    ' Close file. 

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.