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 :

creation dynamique d'une table liée [AC-2000]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 84
    Points : 55
    Points
    55
    Par défaut creation dynamique d'une table liée
    Bonjour,
    Je voudrais résussir à créer dynamiquement une table liée sous access:

    j'utilise un fichier formulaire.mdb qui contient le code de mon appli (formulaire et code vba qui va avec) et qui lie les tables d'un autre fichier data.mdb qui contient toute mes tables et qui centralise les données.

    Dans un formulaire j'ai besoin de créer dynamiquement une table (via par exemple une CREATE TABLE). Le problème que je rencontre c'est que la table est créée physiquement dans mon fichier formulaire.mdb et non pas dans le fichier data.mdb.

    Est ce que quelqu'un a une idée pour m'aider?

    Cordialement
    CGodefrw

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 357
    Points : 355
    Points
    355
    Par défaut
    Bonjour je pense que quelque chose de ce genre devrait vous aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT MesValeurs INTO MatableDistante IN 'c:\test.mdb'
    FROM Matable;
    Puis il suffit de lier la table à l'application courante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.TransferDatabase acLink, "Microsoft Access", "c:\test.mdb", acTable, "MaTableDistante", "MaTableDistante"
    Voili voilou

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 84
    Points : 55
    Points
    55
    Par défaut
    Merci beaucoup pour la réponse.
    Je ne pense pas que cela solutionne intégralement mon problème:

    la deuxième ligne de code me permet en effet de lier dynamiquement une table existante dans mon fichier data.mdb dans mon fichier de formulaire formulaire.mdb.
    Cela me sera vraiment utile.
    Par contre mon problème est que j'aimerais créer dynamiquement la table dans le fichier data.mdb avant de la lier dynamiquement à mon fichier formulaire.mdb.

    Ca je ne sais toujours pas le faire.

    bien cordialement
    cgodefrw

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 84
    Points : 55
    Points
    55
    Par défaut
    Finalement mon problème est résolu et grâce à votre réponse :-)

    Je mets le code au cas ou ça intéresse des gens. Il y a peut-être plus simple...mais l'important c'est que cela fonctionne:

    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
     
        Dim sqlInsert As String
        Dim sqlDelete As String
     
    'creation de la table test dans le fichier formulaire.mdb
        sqlInsert = "create table test (champClePrimaire string, CONSTRAINT c1 PRIMARY KEY (champClePrimaire ) )"
        CurrentDb.Execute (sqlInsert)
     
    'transfert de la table dans le fichier data.mdb
        DoCmd.TransferDatabase acExport, "Microsoft Access", "C:\data.mdb", acTable, "test", "test"
     
    'suppression de la table du fichier formulaire.mdb  
        sqlDelete = "drop table test"
        CurrentDb.Execute (sqlDelete)
     
    'creation dynamique du lien de la table physiquement présente dans le fichier data.mdb dans le fichier formulaire.mdb
        DoCmd.TransferDatabase acLink, "Microsoft Access", "C:\Documents and Settings\CGodefroy\Bureau\BASE CRT\data.mdb", acTable, "test", "test"

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

Discussions similaires

  1. Comment récupérer le chemin d'une table liée
    Par ptitepunk dans le forum Access
    Réponses: 2
    Dernier message: 15/09/2005, 10h47
  2. tableau dynamique via une table sous sql server
    Par bibi2607 dans le forum ASP
    Réponses: 5
    Dernier message: 21/02/2005, 15h45
  3. [select dans case] reconnaitre un champ d une table liée
    Par the_edge dans le forum MS SQL Server
    Réponses: 14
    Dernier message: 22/10/2004, 16h47
  4. [VB.NET] Erreur sur la creation dynamique d'une texbox
    Par headcooper dans le forum ASP.NET
    Réponses: 4
    Dernier message: 01/07/2004, 19h34
  5. Réponses: 8
    Dernier message: 04/09/2003, 16h07

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