IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB]Problème d'enregistrement


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 31
    Par défaut [VB]Problème d'enregistrement
    Bonjour je suis en BTS Informatique d Gestion et je dois créer un programme de gestion sous VB.

    J'ai une erreur lorsque j'essaie de réécrire dans un fichier avec la procédure loc(). Mon programme bloque au niveau du Seek et de ma procédure Loc en me disant :

    "Erreur d'éxecution 63 Numéro d'enregistrement incorect"

    Voila mon Programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Private Sub Command1_Click()
    Dim fpiece As Long
    Dim unP As Piece
    Dim Text1 As String * 6
    'ouvrir le fichier fProduit.fp
     
    fpiece = FreeFile() 'freefile() retourne un numéro d'alias libre
     
    Open App.Path & "\" & Fpiecestr For Random Access Write _
    As fpiece Len = Len(unP)
    While Not EOF(fpiece) And Text1 <> unP.IdPiece
        Get fpiece, , unP
    Wend
    If Not EOF(fpiece) Then
        unP.QteStockPiece = Val(Text8)
        MsgBox unP.QteStockPiece
        Seek fpiece, Loc(fpiece)
        Put fpiece, , unP
        Else: Exit Sub
    End If
     
    Close (fpiece)
    End Sub

  2. #2
    Xan
    Xan est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Par défaut
    Est-ce que tu pourrais entourer le code avec des balises [ code] et [ /code] (sans les espaces) pour que ce soit un peu plus lisible? Et si tu pouvais indenter ton code, ce serait bien aussi ^^

  3. #3
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Et un titre ad hoc, également !

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Bon !
    Tu n'as pas la vague impression que dans ta boucle, tu te contenterais d'une action "Get" quelquechose que tu ne traiterais pas pendant que tu l'aurais sous la main ?

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 31
    Par défaut
    Désolé mais je suis nouveau en développement VB et surtout au niveau des fichiers (perso jtrouve les Base de Donnée plus simple) et je ne saisie pas tout à fait ton message. Pourrait tu m'éclarer un tout petit peu??
    Merci

  6. #6
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    mais je suis nouveau en développement VB et surtout au niveau des fichiers
    Bon !
    Il me semble alors qu'il te faut éviter de foncer avec seek et loc !
    Expliques-nous, avec précision, ce que tu veux lire et écrire dans ton fichier.
    Il y a beaucoup plus sur que le Random Access Write ! (et plus facile à suivre, en plus !)

  7. #7
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 31
    Par défaut
    Le truc c'est quand fait les fonctions seek et loc sont les fonctions que l'ont a vus en cours, mais le problème c'es que cela ne marche pas...Et je ne comprend pas pourquoi.
    Ensuite ce que je ve faire c'est réécrire l'enregistrement unP.QteStockPiece avec le contenu de text8.
    Pour le Random access Write pour le moment je me contenterais de sa car si je rend le projet avec autre chose que cela mon prof risque de grogner.

  8. #8
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par kriss_87
    Le truc c'est quand fait les fonctions seek et loc sont les fonctions que l'ont a vus en cours, mais le problème c'es que cela ne marche pas...Et je ne comprend pas pourquoi.
    Ensuite ce que je ve faire c'est réécrire l'enregistrement unP.QteStockPiece avec le contenu de text8.
    Pour le Random access Write pour le moment je me contenterais de sa car si je rend le projet avec autre chose que cela mon prof risque de grogner.
    ..


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Seek fpiece, Loc(fpiece)
    et la que ve tu faire ?

  9. #9
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Pour le Random access Write pour le moment je me contenterais de sa car si je rend le projet avec autre chose que cela mon prof risque de grogner.
    Il te demande seulement d'utiliser le For random ou t'oblige également à utiliser le Loc ?

  10. #10
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Tu ouvre le fichier en écriture.. puis tu effectue une lecture ? ( bon text1 doit être égal à 0... c'est pour cela qu'il n'y as pas de plantage sur la fonction get...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Open App.Path & "\" & Fpiecestr For Random Access Write _
    As fpiece Len = Len(unP)
    While Not EOF(fpiece) And Text1 <> unP.IdPiece
        Get fpiece, , unP
    Et la tu te position sur l'enregistrement courant... ( je vais la ou je suis !)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Seek fpiece, Loc(fpiece)
    le pire c'est que tu est nulle part puisque aucune lecture ou ecriture n'ont été réalisé dans ton fichier .... d'ou loc(fpiece) renvoit 0 ...? que ve tu faire ?

  11. #11
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Attends !
    Après avoir relu et re-relu, il semble que ton "prof" demande de traiter ainsi un fichier institué comme "base de données", c'est çà ?
    Car en effet, dans de tels cas, et à condition que le nombre de données ne soit pas trop important, l'accès en random peut permettre d'extraire et d'écrire assez rapidement !
    Si tu nous en disais maintenant plus sur tout ce qui concerne cet exercice et, plus particulièrement, sur la structure de ton fichier (comment y sont réparties les données), on pourrait peut-être de donner un coup de main éclairé

    EDIT : OUI : en relisant, je vois que c'est bien celà (base de données) puisque tu as écrit :
    Open App.Path & "\" & Fpiecestr For Random Access Write _
    As fpiece Len = Len(unP)
    peux-tu nous montrer ici comment tu as défini les types de tes données ?
    J'entends par là ta collection de variables, du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Type machinchouette
           nom As String * 15
           addresse As String * 60
           ville as String * 17
           etc...
    End Type
    on y verra plus clair
    je suis toutefois inquiet de lire :
    Dim unP As Piece
    comment t'y es-tu pris ?

  12. #12
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par jmfmarques
    on y verra plus clair
    je suis toutefois inquiet de lire :
    Dim unP As Piece
    comment t'y es-tu pris ?
    bon comme kriss_87 n'est pas la ce matin ... je répond à jmf ... tiens voila comment ont crée un type de donnée personnel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Type Piece
     QteStockPiece As Integer
     IdPiece As Integer
     
     End Type
    [Edit]
    Citation Envoyé par jmf
    Je vois... mais ne vois pas de définitions des longueurs... (c'est pourtant indispensable, si mes souvenirs sont bons )
    pour éviter de polluer plus ce post... je te répond ici... Jmf, pour la longueur ... tu as bien toi même mis len en gras !

  13. #13
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Bonjour Bbil et Joyeuses Pâques et... bon ramassage...
    Je vois... mais ne vois pas de définitions des longueurs... (c'est pourtant indispensable, si mes souvenirs sont bons )
    Je cherche sur le net... celà rafraichira ma mémoire.

  14. #14
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Celà a été plus rapide que je ne le pensais !
    voilà un lien qui devrait retenir toute l'attention de notre ami :
    http://www.other-space.com/vb/part2/files.html
    Je pense qu'il y trouvera ses oeufs de Pâques

  15. #15
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    sinon pour en revenir au sujet du post :


    http://www.developpez.net/forums/sho...62&postcount=8

Discussions similaires

  1. probléme d'enregistrement avec les chexkbox.
    Par pmboutteau dans le forum ASP
    Réponses: 16
    Dernier message: 18/10/2005, 15h05
  2. Réponses: 1
    Dernier message: 25/09/2005, 11h09
  3. Problème d'enregistrement de DLL
    Par chleuh dans le forum Langage
    Réponses: 5
    Dernier message: 01/07/2005, 10h30
  4. problème d'enregistrement de textarea dans bdAccess
    Par pmboutteau dans le forum ASP
    Réponses: 23
    Dernier message: 04/04/2005, 15h10
  5. Problèm d'enregistrement
    Par ludogim dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/06/2004, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo