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

Macros et VBA Excel Discussion :

Créer une table dans une base existante mdb


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 94
    Billets dans le blog
    1
    Par défaut Créer une table dans une base existante mdb
    Bonjour

    J'ai une base de données mdb dans laquelle je souhaiterais créer une nouvelle table avec ses champs, le tout depuis vba excel.

    J'ai tenté de trouver une solution avec les exemples là :
    http://excel.developpez.com/faq/index.php?page=Access

    Mais je ne m'en sort pas. J'ai l'impression que ce ne doit pas être bien compliqué mais je ne trouve pas.

    Merci d'avance

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    As tu bien créé la référence "Microsoft ADO Ext x.x for DLL and Security" come stipulé en commentaire?

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 94
    Billets dans le blog
    1
    Par défaut
    oui oui tout à fait.

    En fait j'arrive à faire fonctionner tous les exemples, mais maintenant j'aimerais pouvoir créer de nouvelles tables au sein même d'une base.

    En fait je prévois d'écrire mes données dans une base mdb depuis différents classeurs avec la correspondance : un classeur == une table

    Mes différents soucis sont donc de détecter si la base existe, ensuite si la table existe, sinon la créer et la remplir.

    donc oui je n'étais peut être pas très clair. Je n'ai pas de soucis pour faire fonctionner les exemples, mais j'aimerais savoir simplement comment écrire une nouvelle table dans une base existante

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Citation Envoyé par alexsolex Voir le message
    En fait je prévois d'écrire mes données dans une base mdb depuis différents classeurs avec la correspondance : un classeur == une table
    Le principe que tu veux faire n'est pas vraiment l'utilisation que l'on fait d'une base de donnée, à quoi peut te servir le fait d'affecter une table à un classeur ?

    L'intérêt d'avoir une base Access avec des classeurs Excel en interface est d'avoir vraiment un partage des données, car les classeurs partagés ce n'est pas le top.

    Philippe
    Dernière modification par Invité ; 18/11/2010 à 05h39.

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 94
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Merci de l'intérêt que tu portes à ma question.

    Citation Envoyé par Philippe JOCHMANS
    Le principe que tu veux faire n'est pas vraiment l'utilisation que l'on fait d'une base de donnée, à quoi peut te servir le fait d'affecter une table à un classeur ?
    Effectivement, et j'en suis bien conscient. Et je répondrais simplement en vous citant :
    Citation Envoyé par Philippe JOCHMANS
    L'intérêt d'avoir une base Access avec des classeurs Excel en interface est d'avoir vraiment un partage des données, car les classeurs partagés ce n'est pas le top.
    C'est typiquement mon cas. Je n'ai pas de license Access et je n'ai de toutes facons pas la possibilité d'utiliser ce logiciel.
    Le seul moyen à ma disposition pour mes besoins est Excel est ses capacités (ou les miennes appuyées de celles du forum) pour faire un simulacre de base de donnée pour de nombreux utilisateurs.

    Excel sera dans ce cas une simple interface pour mettre à jour les données de la base. Un autre classeur excel sera porteur d'une application plus complexe qui puisera dans les infos de la base de données.

    Ma question reste à priori entière :
    Comment puis-je ajouter une table dans une base mdb existante ?

    Merci

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 94
    Billets dans le blog
    1
    Par défaut
    Bon j'ai bidouillé pour finalement me dire que peut être une requête SQL me permettrais simplement de créer cette table.

    J'ai donc utilisé ADODB pour faire ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      StrConnexion = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                     "Data Source=" & CheminBase & ";" & _
                     "Persist Security Info=False"
       Set Conn = New ADODB.Connection
       Set Rs = New ADODB.Recordset
    Conn.Open StrConnexion
    Conn.Execute("CREATE TABLE T_CLIENT (CLI_NOM    CHAR(32), CLI_PRENOM VARCHAR(32))")
    Ca fonctionne (j'ai juste exécuté la requête de création de la table depuis la fenêtre Exécution de VBA) et je vais voir pour intégrer tout ca correctement.

    Néammoins ca me gêne un peu, j'aurais préféré pouvoir lire chaque entête de colonnes de mon classeur pour créer les champs dans la table. Donc si vous avez d'autres solutions qui passent un peu plus par le code, je suis preneur.

    Merci

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  2. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29
  3. Comment créer une table dans une table ?
    Par Invité dans le forum Débuter
    Réponses: 8
    Dernier message: 15/06/2007, 14h55
  4. Réponses: 7
    Dernier message: 21/08/2006, 16h27
  5. Réponses: 2
    Dernier message: 02/06/2006, 11h26

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