NykoKurapika
Messages postés37Date d'inscriptionjeudi 10 février 2005StatutMembreDernière intervention10 janvier 2008
-
4 juil. 2005 à 19:43
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 2007
-
6 juil. 2005 à 03:09
Salut à tous !
je suis toujours en train de réaliser mon répertoire en séquenciel et j'ai un nouveau problème !!!!
j'éssai d'enregistrer à l'aide de la commande Put le contenue d'une vingtaine de variable dans un fichier .rep en utilisant un Type.
seulement a chaque fois que je renseigne toute mes variables et que
j'éssaie de les enregistrer, j'ai droit au message suivant Erreur 59
longueur d'enregistrement incorrect !
si quelqu'un pouvait m'aider afin de modifier cette longueur (ci c'est
faisable !) ou a corriger ce facheux problème qui m'empèche totalement
de continuer !
NykoKurapika
Messages postés37Date d'inscriptionjeudi 10 février 2005StatutMembreDernière intervention10 janvier 2008 5 juil. 2005 à 23:41
C'est bon le prb est résolue ! En fait c'est parceque c'est des enregistrement de longueur fixe donc les données enregistrées doivent aussi avoir une longueur fixe avec Random
Private Type Enreg
nom As string *20
...
End Type !!!
NykoKurapika
Messages postés37Date d'inscriptionjeudi 10 février 2005StatutMembreDernière intervention10 janvier 2008 5 juil. 2005 à 14:25
Salut ScSami !
mon code une fois épuré donne à peut près ca :
Dans le modul :
Public choix As String
Public nf As Long
Public Type Enreg
nom As String
prenom As String
ddn1 As String
ddn2 As String
ddn3 As String
adem As String
adt As String
tp1 As String
tp2 As String
choix As String
nome As String
fonce As String
tele As String
faxe As String
ade As String
cpe As String
villee As String
adp As String
cpp As String
villep As String
telp As String
faxp As String
pdip As String
ads As String
cps As String
villes As String
tels As String
faxs As String
pdis As String
End Type
Dans la Form :
Dim carnet1 = Enreg
Private Sub Ajouter_Click()
With carnet1
.nom = Ajoutcontact1.Text1.Text
.prenom = Ajoutcontact1.Text2.Text
.ddn1 = Ajoutcontact1.Text3.Text
.ddn2 = Ajoutcontact1.Text4.Text
.ddn3 = Ajoutcontact1.Text5.Text
.adem = Ajoutcontact1.Text6.Text
.adt = Ajoutcontact1.Text7.Text
.tp1 = Ajoutcontact1.Text8.Text
.tp2 = Ajoutcontact1.Text9.Text
.choix = choix
If choix = "" Then
.choix = "aucun"
End If
If choix = "aucun" Then
.nome = ""
.fonce = ""
.tele = ""
.faxe = ""
.ade = ""
.cpe = ""
.villee = ""
End If
If choix = "travail" Then
.nome = Ajoutcontact1.Text10.Text
.fonce = Ajoutcontact1.Text11.Text
.tele = Ajoutcontact1.Text12.Text
.faxe = Ajoutcontact1.Text13.Text
.ade = Ajoutcontact1.Text14.Text
.cpe = Ajoutcontact1.Text15.Text
.villee = Ajoutcontact1.Text16.Text
End If
If choix = "ecole" Then
.nome = Ajoutcontact1.Text17.Text
.fonce = Ajoutcontact1.Text18.Text
.tele = Ajoutcontact1.Text19.Text
.faxe = Ajoutcontact1.Text20.Text
.ade = Ajoutcontact1.Text21.Text
.cpe = Ajoutcontact1.Text22.Text
.villee = Ajoutcontact1.Text23.Text
End If
.adp = Text1.Text
.cpp = Text2.Text
.villep = Text3.Text
.telp = Text4.Text
.faxp = Text5.Text
.pdip = Text6.Text
.ads = Text1.Text
.cps = Text2.Text
.villes = Text3.Text
.tels = Text4.Text
.faxs = Text5.Text
.pdis = Text6.Text
End With
nf = FreeFile
Open App.Path & "\users" & username & ".rep" For Random As #nf Len = Len(carnet1)
Put #nf, numenreg, carnet1 'C'est ici que ca bloque !!!
Close #nf
voila ! je pensse que cela fait trop de données sur une seul ligne !
cependant, comme on ne peut pas enregistrer sur 2 lignes (étant donné
que la deuxième ligne correspond au 2ème enregistrement !) je ne voie
pas ce que je peut bien faire !
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 5 juil. 2005 à 23:31
Essaie déjà ça :
Dim carnet1 As Enreg
nf = FreeFile
numenreg = 1
Open (App.Path & "\users" & username & ".rep") For Random As #nf Len = Len(carnet1)
Put #nf, numenreg, carnet1
Close #nf
Mais la MSDN (l'aide du VB) dit que la taille maxi des
enregistrements est de 32'768, donc, franchement, je ne vois pas ce qui
peut poser problème !!!
Sinon faut essayer dans un autre mode comme Input!
(je suis pas un expert en ce qui conserne le mode Random [justement à cause de cette taille de l'enregistrement!!!])
Sinon, tu peux aussi essayer d'enlever le "Len = Len(carnet1)" !!!
Dit moi déjà ce que ça donne pi sinon je tenterais de regarder ce
problème d'un peu plus près (au fait, tu ne m'as pas dit ce qui était
sensé être dans les différents champs!!!
Enjoy
<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse accéptée". )
Vous n’avez pas trouvé la réponse que vous recherchez ?
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 6 juil. 2005 à 03:09
Bon a savoir!!!
Alors dans ce cas, c'est moi qui te remerci pour cette réponse (
J'ai un peu honte quand même... c'est celui qui vient aidé qui se fait
finalement aidé!!! Mais bon, c'est comme ça qu'on apprend le mieux...
en trouvant soit-même même si on peut perdre parfois beaucoup de temps!!!)