|
FICHIER À ACCÈS DIRECT
Dans un fichier à accès direct, tous les enregistrements ont la même
longueur. Vous pouvez donc lire un enregistrement quelconque sans lire
tout le fichier.
Pour que chaque enregistrement ai la même taille, vous devez utiliser les
variable personnalisées. Dans notre exemple,
nous aurons un nom, un montant et une date.
Lors de l'ouverture, si le fichier n'existe pas, il est créé.
'
Type Enreg
Val1 As String * 10
Val2 As Integer
Val3 As Date
End Type
Public Sub EcritDirect(UnEnreg As Enreg, strChemFich As String)
Dim F As Integer, iNbEnreg As Integer
F = FreeFile
t
Open strChemFich For Random As #F Len = Len(UnEnreg)
iNbEnreg = LOF(F) / Len(UnEnreg)
Put #F, iNbEnreg + 1, UnEnreg
Close #F
End Sub
Public Function LitDirect(NoEnreg As Integer, strChemFich As String) As
Enreg
Dim F As Integer
Dim UnEnreg As Enreg
F = FreeFile '1er numéro libre
'
Open strChemFich For Random As #F Len = Len(UnEnreg)
Get #F, NoEnreg, UnEnreg
Close #F
LitDirect = UnEnreg
End Function
Public Sub EcritFichDirect()
Dim TabEnreg(3) As Enreg
Dim n As Byte
For n = 0 To 3
With TabEnreg(n)
.Val1 = "Nom" & n
.Val2 = 25 * n
.Val3 = Date + n
End With
EcritDirect
TabEnreg(n), "C:\Documents and Settings\Cathy\Mes
documents\Formation\Internet\Vba\direct.txt"
Next
End Sub
Public Sub LitFichDirect()
Dim MonEnreg As Enreg
MonEnreg = LitDirect(2, "C:\Documents and
Settings\Cathy\Mes documents\Formation\Internet\Vba\direct.txt")
MsgBox MonEnreg.Val1 & vbCrLf &
MonEnreg.Val2 & vbCrLf & MonEnreg.Val3
End Sub
|