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

Access Discussion :

Comment lire un fichier de 2go en VBA avec Access


Sujet :

Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 168
    Points : 196
    Points
    196
    Par défaut Comment lire un fichier de 2go en VBA avec Access
    Bonjour,
    Je tente de lire un fichier texte en VBA avec une ouverture classique des flux sous Access. Mais le temps d'acces à la première ligne est très long voir topr long.
    Existe t 'il une méthode qui permette d'accéder rapidement à la première ligne
    d'un fichier sans avoir à le charger complètement ( pour rappelle il fait 2 Go en taille).

    Merci pour votre aide.
    Sur terre il y a 10 types de personnes, celles qui comprennent le binaire et les autres...

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Qu'est que c'est l'ouverture de flux ?
    Moi j'utilise celle ci avec des fichiers entre 30Mo et 100Mo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim FileName As String, strLigne As String
     
    FileName = "CheminEtNomFichier"
     
    Open FileName For Input As #1
    Do While Not EOF(1)
       Line Input #1, strLigne
       ... traitement ...
    Loop
    Close #1
    A+

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 168
    Points : 196
    Points
    196
    Par défaut
    Salut LedzeppII,
    c'est exactement ce que j'utilise et ça plante la machine.
    J'ai l'impression que l'instruction input tente de charger en mémoire la totalité du fichier ce qui pourrait expliquer le plantage.

    Donc je ne sais pas quoi utiliser d'autre...

    a++
    Sur terre il y a 10 types de personnes, celles qui comprennent le binaire et les autres...

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour

    Tu n'aurais pas un souci avec les retours chariots ?
    Line Input cherche à charger une ligne entière.
    Si le retour chariot n'est pas reconnu 2Go ça fait beaucoup pour une ligne.

    A+

  5. #5
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    Salut,

    A 2 Go : on atteint les limites du .mdb d'access 2002.
    Et c'est même 1 Go pour les versions antérieures ...

    A+
    "Always look at the bright side of life." Monty Python.

  6. #6
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    c'est un fichier ligne à ligne (séquentiel) ou bien monobloc ?
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  7. #7
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Si ça peut te donner une piste ...

    Je viens de tester avec un fichier texte UNIX, Line Input lit tout le fichier d'un coup.
    Line Input ne reconnait que CR et CR+LF, mais pas LF seul.
    Une variable String est limitée à 2Go (cf l'aide en ligne).

    A+

  8. #8
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Est-ce que tu pourrais donner un aperçu de ton fichier, car tu peux essayer :
    - Input au lieu de Line Input
    - Ouvrir le fichier pour récupérer des Records
    etc.


    bref, il faudrait avoir une idée de la structure du fichier, parce que, là, comme ça, c'est dur dur !

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 168
    Points : 196
    Points
    196
    Par défaut
    Bonjour messieurs, désolé de vous répondre si tardivement mais mom problème a été résolu aujourd'hui.
    En fait le logiciel de cartographie qui avait généré ce fichier a planté la mise en forme et la première ligne était trés trés trés longue.......
    Donc voila pour les infos. On peut donc bien traiter directement un fichier de 2 Go en VB.

    Merci pour votre aide.
    Sur terre il y a 10 types de personnes, celles qui comprennent le binaire et les autres...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA] comment lire un fichier Excel en VBA
    Par mdmdmd dans le forum SDK
    Réponses: 1
    Dernier message: 17/07/2007, 16h19
  2. [BCB 5]Comment lire un fichier AVI avec un TAnimate ?
    Par Sitting Bull dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/09/2004, 11h57
  3. Comment lire un fichier DB en cours d'utilisation par 1 autr
    Par jbat dans le forum Bases de données
    Réponses: 4
    Dernier message: 12/03/2004, 11h06
  4. Comment lire un fichier image
    Par Charlemagne dans le forum DirectX
    Réponses: 9
    Dernier message: 12/03/2004, 00h22

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