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

VBA Access Discussion :

Copier une BDD rapidement via lien ODBC


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2010
    Messages : 67
    Points : 45
    Points
    45
    Par défaut Copier une BDD rapidement via lien ODBC
    Bonjour à tous, je vous expose mon problème :

    Je dois copier une base de donnée propriétaire (logiciel SAGE ligne 100) dans une base ACCESS 07, via du code VisualBasic.
    Pour la connexion à la base de données, j'utilise une connexion ODBC en passant par un DSN, et l'objet ADODB.RecordSet pour copier chaque ligne dans une base ACCESS.
    Mon problème est que c'est trop long ! Je met environ 1 minute pour copier 2200 lignes.
    J'ai essayé de faire la même chose en mode graphique avec les outils ACCESS (lier une base de donnée + requete) et le resultat est quasi-instantané.
    Comme il s'agit de la meme connexion, je pense que mon problème vient de l'objet que j'utilise, qui ne doit pas être très optimisé.

    Ma question est la suivante :

    Existe-t'il un autre objet que le recordset, ou carrément une autre méthode pour copier une table entière ?

    Merci pour vos réponses.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 106
    Points : 135
    Points
    135
    Par défaut
    Bonjour,

    si j'ai bien compris ce que tu fais : tu te connectes à la base SAGE, tu lis les enregistrements des tables que tu recopies un à un dans une table Access de structure identique. C'est bien ça ?

    Si c'est le cas, il y a effectivement une méthode plus simple qui consiste à faire exactement les mêmes opérations que les outils graphiques Access.
    Je te conseille de te tourner vers la méthode TransferDatabase (de DoCmd) pour effectuer la liaison de la table ODBC avec ta base Access. Puis regarde la méthode RunSQL (là aussi de DoCmd) pour exécuter la requête qui insert les enregistrements d'une table à l'autre. Normalement, l'aide en ligne contient des exemples ODBC qui devraient te permettre de t'en sortir.

Discussions similaires

  1. manipuler une BDD SQL via l'API ODBC sur builder C+
    Par débutant11 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/06/2010, 20h34
  2. manipuler une BDD SQL via l'API ODBC sur builder C+
    Par débutant11 dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 01/06/2010, 19h47
  3. copier une bdd Innodb
    Par Nillak dans le forum Outils
    Réponses: 4
    Dernier message: 01/02/2007, 18h05
  4. [WinDev] Connexion à une BDD Oracle via ODBC
    Par Morgoth777 dans le forum WinDev
    Réponses: 2
    Dernier message: 01/12/2006, 14h34
  5. Erreur d'éxécution requête via lien ODBC
    Par ft035580 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 27/08/2006, 18h46

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