Compartir a través de


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 Recorddefinido 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.