Bonjour ! Je suis débutant en VB et je n'ai jamais eu encore à manipuler des fichiers : je suis bloqué par une erreur que je n'arrive pas à enlever.
Voici la structure d'un de mes clients :
Code :
- 'Structure d'un client
- Type Client
- numch As Integer 'Numéro de chambre
- nom As String 'Nom
- nbdej As Integer 'Nombre de petits-déjeuners
- chambre As Boolean 'Indique si le client prendra
- 'son petit déjeuner en chambre ou non
- heure As String 'Heure
- Dejeuner() As Dejeuner 'Tableau des petits-déjeuners
- etat As Boolean 'Etat de la commande (vrai si effectuée, faux si annulée)
- prix As Integer 'Montant de la commande
- End Type
|
Voici la structure d'un enregistrement :
Code :
- 'Structure d'un enregistrement
- Type Enr
- numch As Integer 'Numéro de chambre
- etat As Boolean 'Etat de la commande
- nom As String 'Nom du client
- nbp As Integer 'Nombre de personnes
- chambre As Boolean 'Lieu
- heure As String 'Heure
- prix As Double 'Prix
- End Type
|
Voici la sub que j'appelle pour enregistrer :
Code :
- Sub Save_fic()
- Dim nf, i, j As Integer
- Dim zl As Enr
-
- nf = FreeFile
- Open "fic.txt" For Random Access Read Write As #nf Len = Len(zl)
- For i = 1 To nbcli
- zl.chambre = TC(i).chambre
- zl.etat = TC(i).etat
- zl.heure = TC(i).heure
- zl.nbp = TC(i).nbdej
- zl.nom = TC(i).nom
- zl.numch = TC(i).numch
- zl.prix = TC(i).prix
- Put #nf, i, zl
- Next i
- Close nf
-
- End Sub
|
J'obtiens au choix l'erreur "Bad record number" ou bien "Bad record length" à la ligne du Put. Globalement je crois comprendre l'erreur mais je ne vois pas bien pourquoi il me fait ça : zl est bien de la bonne longueur, et le numéro d'enregistrement est valide... HELP ! Merci d'avance.