Lock, Unlock, instructionsLock, Unlock statements

Contrôle l’accès d’autres processus à tout ou partie d’un fichier ouvert à l’aide de l’instruction Open .Controls access by other processes to all or part of a file opened by using the Open statement.

SyntaxeSyntax

Verrou [ # ] FileNumber, [ instructionrecordrange ] ...Lock [ # ] filenumber, [ recordrange ] . . .
Déverrouiller [ # ] FileNumber, [ instructionrecordrange ]Unlock [ # ] filenumber, [ recordrange ]


La syntaxe des instructions Lock et Unlock présente trois éléments :The Lock and Unlock statement syntax has these parts:

ÉlémentPart DescriptionDescription
filenumberfilenumber Obligatoire.Required. Tout numéro de fichier valide.Any valid file number.
instructionrecordrangerecordrange Facultatif.Optional. Plage d'enregistrements à verrouiller ou déverrouiller.The range of records to lock or unlock.

SettingsSettings

Les paramètres de l' argument instructionrecordrange sont les suivants:The recordrange argument settings are:

recnumber | [ Démarrer ] De façon à finrecnumber | [ start ] To end


SettingSetting DescriptionDescription
recnumberrecnumber 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.Record number (Random mode files) or byte number (Binary mode files) at which locking or unlocking begins.
startstart Numéro du premier enregistrement ou octet à verrouiller ou déverrouiller.Number of the first record or byte to lock or unlock.
endend Numéro du dernier enregistrement ou octet à verrouiller ou déverrouiller.Number of the last record or byte to lock or unlock.

RemarquesRemarks

Les instructions Lock et Unlock sont utilisées dans des environnements dans lesquels plusieurs processus doivent pouvoir accéder au même fichier.The Lock and Unlock statements are used in environments where several processes might need access to the same file.

Les instructions Lock et Unlock sont toujours utilisées par paires.Lock and Unlock statements are always used in pairs. Les arguments des instructions Lock et Unlock doivent correspondre exactement.The arguments to Lock and Unlock must match exactly.

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é.The first record or byte in a file is at position 1, the second record or byte is at position 2, and so on. Si vous ne spécifiez qu’un seul enregistrement, seul cet enregistrement est verrouillé ou déverrouillé.If you specify just one record, only that record is locked or unlocked. Si vous utilisez l'instruction Lock sans recnumber, le fichier entier est verrouillé.If you specify a range of records and omit a starting record (start), all records from the first record to the end of the range (end) are locked or unlocked. L’utilisation de Lock sans recnumber verrouille la totalité du fichier; utilisation de Unlock sans recnumber déverrouille l’intégralité du fichier.Using Lock without recnumber locks the entire file; using Unlock without recnumber unlocks the entire file.

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.If the file has been opened for sequential input or output, Lock and Unlock affect the entire file, regardless of the range specified by start and end.

Important

Veillez à supprimer tous les verrous à l’aide d’une instruction Unlock avant de fermer un fichier ou de quitter votre programme.Be sure to remove all locks with an Unlock statement before closing a file or quitting your program. L’échec de la suppression des verrous génère des résultats imprévisibles.Failure to remove locks produces unpredictable results.

ExempleExample

Cet exemple illustre l'utilisation des instructions Lock et Unlock.This example illustrates the use of the Lock and Unlock statements. Pendant la modification d'un enregistrement, tout accès à ce dernier par d'autres processus est refusé.While a record is being modified, access by other processes to the record is denied. Cet exemple suppose qu' TESTFILE il s’agit d’un fichier contenant cinq enregistrements du type Recorddéfini par l’utilisateur.This example assumes that TESTFILE is a file containing five records of the user-defined type Record.

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 aussiSee also

Assistance et commentairesSupport and feedback

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ?Have questions or feedback about Office VBA or this 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.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.