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 :

Importer tables (Dbase III) sous VB 6 ?


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 22
    Points : 18
    Points
    18
    Par défaut Importer tables (Dbase III) sous VB 6 ?
    Bonjours à tous,

    Je suis actuellement en période de projet pour mon BTS IRIS et j'ai un petit problème....

    Voilà, je désir mettre à jours une BD Access (97) par l'intermédiaire de VB 6 et pour ceci je dois rapatrier des tables au format .dbf (Dbase III) depuis un petit terminal portable (PSION Workabout).

    Donc, je dispose actuellement de fichiers .dbf (tables) que je dois importer dans une base de données préalablement ouverte dans VB 6.

    Là est mon problème. Je n'arrive pas à importer ces fichiers .dbf depuis visual basic.
    SVP aider moi..... MERCI PAR AVANCE

  2. #2
    Membre régulier
    Inscrit en
    Septembre 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 148
    Points : 103
    Points
    103
    Par défaut
    Salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferDatabase acImport, "dBase III", "U:\reptest\stat", acTable, "stat", "T_Stat", False
    U:\reptest\stat est le repertoire qui contient le fichier stat.dbf et T_Stat est le nom de ta table.
    J'espere que c'etait ça que tu voulais
    Podz

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 22
    Points : 18
    Points
    18
    Par défaut Re:
    Merci podz,

    Oui je pense que c'est ça. Mai J'utilise ADO (DAO) pour me connecter à ma base de données et je n'ai pas de DoCmd.TransferDatabase ....
    Comment l'obtient tu??

    Précision:
    En fait je dois mettre à jours une BD Access 97 existante sur un serveur.
    Pour ce je dois rapatrier des tables en dBase III provenant d'un terminal portable par RS232 sur le serveur. Ensuite je dois me servir des infos contenu dans ces tables pour mettre à jours la BD du serveur. J'ai terminer toute la partie communication et il me reste la partie mise à jours. Actuellement je dispose dans mon code VB6 d'une connection avec la BD serveur mais je n'arrive pas à "ouvrir", "importer" ces tables (que g placé ds un repertoir TEMP du serveur.). Si j'arrive il me restera que les requete de mise à jours à faire et c'est good.

    MERCI de m'aider podz

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut
    La réponse fournie plus haut supose que tu es en VBA et non VB6. Access viens avec un bon paquet de filtre d'importation par contre pour VB6 je ne suis pas sur que cela existe.

    Je vois plusieurs option :

    - tu fais du dev dans Access et tu oublie VB6 pour cette partie, ce qui n'est vraiment pas difficile. Tu vas pouvoir bénéficier de tout le confort de l'environnement de travail de Access. (Visualisation des tables, filtres d'import, form liés, ...)

    - tu trouves un driver ODBC compatible avec DB3, si cela existe toujours, et tu te tapes la prog au travers de VB6.

    - tu attaque le fichier DBF en mode binaire. Les fichiers DBF ont une entête de description (sur les 32 premiers octets il me semble) et après les données sont en format fixe. Chaque enr à toujours la même longueur.

    A+

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 22
    Points : 18
    Points
    18
    Par défaut Re:
    Merci du conseil marot_r, mais j'ai résolu le problème autrement.

    Explication:

    VB6 permet d'ouvrir ,par l'intermediare de AODB, les tables dBase III comme si l'on se connectait à une BD Access:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    DriverDbase="DRIVER={Microsoft dBase Driver (*.dbf)};DBQ="           
    Chemin = "\\RepertoireDesDBF"                                        
     
       Set ConnDbf = CreateObject("ADODB.RecordSet")                     
       MySql = ""                                                        
       MySql = MySql & "SELECT * FROM MaTable "                          
       ConnDbf.Open MySql, DriverDbase & Chemin
    Ensuite l'objet recordset ConnDbf permet de manipuler à souhait la table, ceci est très simple mais je ne le savais pas ...
    Merci quand même @+

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

Discussions similaires

  1. vba - Import Tables Access sous Excel
    Par House MD dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/08/2008, 11h54
  2. Tables DBase et requêtes sans BDE sous D7 ?
    Par gduo200 dans le forum Bases de données
    Réponses: 3
    Dernier message: 07/09/2007, 14h45
  3. Lier des tables dBase sous Acces
    Par Nigoki dans le forum VBA Access
    Réponses: 6
    Dernier message: 25/07/2007, 12h14
  4. Export table Access vers dBase III
    Par djo.alpha dans le forum Access
    Réponses: 2
    Dernier message: 27/04/2006, 13h53
  5. exporter une table dBase III
    Par nikko_54 dans le forum Access
    Réponses: 4
    Dernier message: 28/03/2006, 16h19

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