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 :

INSERT d'une table Postgres vers une autre table Postgres via ACCESS et VBA


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 74
    Points : 40
    Points
    40
    Par défaut INSERT d'une table Postgres vers une autre table Postgres via ACCESS et VBA
    Bonjour,

    J'ai besoin de transférer des données récupérées d'une base Postgres PG1 vue en lecture seule vers une autre base Postgres PG2 qui est celle que j'utilise à la place de JET.
    Je me connecte en ODBC à ces deux bases.
    J'arrive par une requête directe "requete_dir" à récupérer toutes mes données (6000 et quelques lignes), et quand je lance cette requête, après une trentaine de secondes de moulinage, ACCESS m'affiche les données recueillies.

    Pas de souci jusque là. Mais ensuite, j'aimerais transférer mes données dans une table de la bd "locale" PG2 liée à mon application ACCESS. D'où mes questions :

    1/ comment me connecter à ma base en ACCESS ? J'ai lu le tutoriel très complet sur le sujet du site (http://ledzeppii.developpez.com/odbc-access/), mais ce n'est pas très clair pour moi qui ne connaît rien à ces technologies ! J'ai cherché un exemple simple de code INSERT à partir d'ODBC en VBA... sans succès. Je vois beaucoup de "bidouilles" et de mélange entre ADO, DAO, ODBC, etc. Je ne veux pas d'un tel code si possible. Est-ce que quelqu'un pourrait gentiment fournir une procédure SUB minimale de la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub requete
       ' I - Connexion à la base PG2 via ODBC
       Dim ...
       ...
       ... = "Driver={PostgreSQL ANSI};Server=localhost;Port=5432;Database=mabase;Uid=postgres;Pwd=monpasse;"
       ...
     
       ' II - Requête INSERT
       requete = "INSERT * INTO ma_table FROM [données obtenues à partir de ma requête directe requete_dir]"
       ...
       lien_vers_ma_base.InstructionPourLancerLaRequete requete
       ...
    End Sub
    2/ Est-il possible de faire l'ensemble de la manipulation : (a) requête pour extraire les données de la base PG1 en lecture seule + (b) transfert des données obtenues dans la base PG2 de l'application ? Autrement dit, peut-on se connecter à plusieurs bases Postgres (ou autres !) et faire le transfert de données sans passer par un intermédiaire ACCESS local ?
    L'idée est bien sûr de créer ensuite un bouton sur l'interface afin de pouvoir lancer la requête à la demande... (A terme, il s'agira d'une requête de mise à jour lancée par l'utilisateur.)

    Merci pour votre aide !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Si les bases de données sont sur le même serveur sql voila comme je fais en sql serveur.

    select * into [NewTable] from [Base.dbo.Table]

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 74
    Points : 40
    Points
    40
    Par défaut
    Merci pour cette réponse. Malheureusement, je ne maîtrise pas l'emplacement des bases. Actuellement, je travaille en localhost pour ma base "PG-ACCESS" et l'autre base que je consulte en lecture seule est sur un serveur externe...

    Concernant la syntaxe, c'est bien là que réside la question de fond : "Base.dbo." suppose qu'on s'est connecté d'une certaine manière (ADO, DAO, ODBC, OLE... ou je ne sais quoi !), non ? Et c'est cela qu'il me manque !

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/06/2009, 12h31
  2. Réponses: 5
    Dernier message: 22/05/2008, 14h42
  3. copier une feuille excel vers un autre fichier excel en access VBA
    Par acbdev dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/03/2008, 09h32
  4. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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