Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.