Partage via


Lock, Unlock, instructions

Contrôle l’accès par d’autres processus à tout ou partie d’un fichier ouvert à l’aide de l’instruction Open .

Syntaxe

Lock [ # ] filenumber, [ recordrange ] . . . .Unlock [ # ] filenumber, [ recordrange ]

La syntaxe des instructions Lock et Unlock présente trois éléments :

Élément Description
filenumber Obligatoire. Tout numéro de fichier valide.
recordrange Optional. Plage d'enregistrements à verrouiller ou déverrouiller.

Paramètres

Les paramètres de l’argument recordrange sont les suivants :

recnumber | [ start ] Pourterminer

Setting Description
recnumber Numéro d'enregistrement (fichiers en mode aléatoire) ou numéro d'octet (fichiers en mode binaire) auquel le verrouillage ou le déverrouillage commence.
start Numéro du premier enregistrement ou octet à verrouiller ou déverrouiller.
end Numéro du dernier enregistrement ou octet à verrouiller ou déverrouiller.

Remarques

Les instructions Lock et Unlock sont utilisées dans des environnements dans lesquels plusieurs processus doivent pouvoir accéder au même fichier.

Les instructions Lock et Unlock sont toujours utilisées par paires. Les arguments des instructions Lock et Unlock doivent correspondre exactement.

Dans un fichier, le premier enregistrement ou octet se trouve à la position 1, le deuxième enregistrement ou octet se trouve à la position 2, etc. Si vous ne spécifiez qu'un enregistrement, seul ce dernier est verrouillé ou déverrouillé. Si vous spécifiez un seul enregistrement, seul cet enregistrement est verrouillé ou déverrouillé. Si vous utilisez l'instruction Lock sans recnumber, le fichier entier est verrouillé. L’utilisation de Lock sans recnumber verrouille l’intégralité du fichier ; L’utilisation de Unlock sans recnumber déverrouille l’intégralité du fichier.

Si le fichier a été ouvert pour une saisie ou sortie séquentielle, les instructions Lock et Unlock affectent le fichier entier, quelle que soit la plage spécifiée par start et end.

Importante

Veillez à supprimer tous les verrous avec une instruction Unlock avant de fermer un fichier ou de quitter votre programme. L’échec de la suppression des verrous produit des résultats imprévisibles.

Exemple

Cet exemple illustre l'utilisation des instructions Lock et Unlock. Pendant la modification d'un enregistrement, tout accès à ce dernier par d'autres processus est refusé. Cet exemple suppose que TESTFILE est un fichier contenant cinq enregistrements du type Recorddéfini par l’utilisateur.

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. 

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.