Instruções Lock, Unlock
Controla o acesso por outros processos a todos ou parte de um arquivo aberto usando a instrução Abrir .
Sintaxe
Bloquear [ # ] número de arquivos, [ recordrange ] . .Desbloquear [ # ] número de arquivos, [ recordrange ]
A sintaxe de instrução Bloquear e Desbloquear tem estas partes:
Sair | Descrição |
---|---|
númerodoarquivo | Obrigatório. Qualquer número de arquivo válido. |
recordrange | Opcional. O intervalo de registros a serem bloqueados ou desbloqueados. |
Configurações
As configurações de argumentode conjunto de registros são:
recnumber | [ iniciar ] Paraterminar
Configuração | Descrição |
---|---|
renumeração | Número de registro (arquivos de modo aleatório ) ou número de bytes (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 para bloquear ou desbloquear. |
Comentários
As instruções Bloquear e Desbloquear são usadas em ambientes em que vários processos podem precisar de acesso ao mesmo arquivo.
As instruções Bloquear e Desbloquear sempre são usadas em pares. Os argumentos para Bloquear e Desbloquear 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 (iniciar), todos os registros do primeiro registro até o final do intervalo (final) serão bloqueados ou desbloqueados. O uso do Bloqueio sem renumeração bloqueia todo o arquivo; usar o Desbloqueio sem renumeração desbloqueia todo o arquivo.
Se o arquivo tiver sido aberto para entrada ou saída sequencial, Bloquear e Desbloquear afetará todo o arquivo, independentemente do intervalo especificado por início e término.
Importante
Certifique-se de remover todos os bloqueios com uma instrução Unlock antes de fechar um arquivo ou abandonar seu programa. A falha na remoção de bloqueios produz resultados imprevisíveis.
Exemplo
Este exemplo ilustra o uso das instruções Bloquear e Desbloquear . Enquanto um registro está sendo modificado, o acesso de outros processos ao registro é negado. Este exemplo pressupõe que TESTFILE
seja um arquivo que contém cinco registros do tipo Record
definido 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.