Instrucciones Lock y Unlock
Controla el acceso de otros procesos a la totalidad o parte de un archivo abierto mediante la instrucción Open .
Sintaxis
Bloquee [ # ] filenumber, [ recordrange ] . . .Desbloquear [ # ] filenumber, [ recordrange ]
La sintaxis de las instrucciones Lock y Unlock tiene estas partes:
Parte | Descripción |
---|---|
númeroArchivo | Obligatorio. Cualquier número de archivo válido. |
recordrange | Opcional. El rango de registros que bloquear o desbloquear. |
Configuración
La configuración del argumentorecordrange es:
recnumber | [ start ] Parafinalizar
Configuración | Descripción |
---|---|
recnumber | Número de registro (archivos de modo Random) o número de byte (archivos de modo Binary) en el que empieza el bloqueo o el desbloqueo. |
start | Número del primer registro o byte que bloquear o desbloquear. |
end | Número del último registro o byte que bloquear o desbloquear. |
Comentarios
Las instrucciones Lock y Unlock se usan en entornos en los que varios procesos pueden precisar acceso al mismo archivo.
Las instrucciones Lock y Unlock se usan siempre en parejas. Los argumentos para Lock y Unlock deben coincidir exactamente.
El primer byte o registro de un archivo se encuentra en la posición 1, el segundo byte o registro en la posición 2 y así sucesivamente. Si especifica solo un registro, solo ese registro está bloqueado o desbloqueado. Si especifica un rango de registros y omite un registro de inicio (inicio), se bloquean o desbloquean todos los registros del primer registro al final del rango (fin). Si se usa Lock sin númeroReg, se bloquea todo el archivo; si se usa Unlock sin númeroReg, se desbloquea todo el archivo.
Si el archivo se ha abierto para una entrada o salida secuencial, Lock y Unlock afectan a todo el archivo, independientemente del rango especificado por inicio y fin.
Importante
[!IMPORTANTE] Asegúrese de quitar todos los bloqueos con una instrucción Unlock antes de cerrar un archivo o salir del programa. Un error al quitar los bloqueos puede producir resultados impredecibles.
Ejemplo
En este ejemplo se muestra el uso de las instrucciones Lock y Unlock. Cuando se está modificando un registro, se deniega el acceso de otros procesos al registro. En este ejemplo se supone que es un archivo que TESTFILE
contiene cinco registros del tipo Record
definido por el usuario .
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.
Vea también
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.