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 :

Créer une table dynamiquement


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Par défaut Créer une table dynamiquement
    Bonjour,

    Je viens vers vous car je voudrais savoir s'il est possible de créer une table dynamiquement à partir d'une requete en VBA.

    En gros une fonction qui imiterai le make table.
    On peut bien lancer un DOCMD.RUN SQL avec un INSERT mais dans ce cas il ne recréer pas de table, il copie simplement les enregistrements et si les champs de la requete ont changé ça ne fonctionne pas car il ne retrouve pas les champs dans la table --> NORMAL.

    Pensez-vous que cela est possible ?
    Faut-il passer par une modification des champs de la table en recupérant les noms de champs des requetes ?

    Merci de votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    dans la requete en question tu fais un "create table etc".
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Bonjour,

    Tu peux créer/modifier des tables en VBA de deux façons (au moins):
    • en utilisant des instructions SQL tels que CREATE TABLE
      Par exemple
      Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
       
      db.execute "CREATE TABLE UneTable (id COUNTER, Nom TEXT, Prénom TEXT)"
    • en DAO, en manipulant des objets tabledefs...
      Par exemple
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      Dim oDB as DAO.Database
      Dim oT As DAO.TableDef
      Dim oFld As DAO.Field
       
      set oDB= currentdb
      Set latable = dbEtude.CreateTableDef("UneTable")     
      set oFld = oDB.CreateField("Id")
      oFLd.Type = dbText
      oT.Fields.Append oFld
      '...
      oDB.TableDefs.Append oT

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Par défaut
    Ok. Merci pour les tuyaux.
    Je vais essayer tout ça.

    Bonne continuation.

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 15/11/2007, 19h48
  2. Créer une table en VBA ?
    Par nicburger dans le forum Access
    Réponses: 11
    Dernier message: 16/02/2005, 15h15
  3. Réponses: 17
    Dernier message: 03/12/2004, 14h33
  4. input ds une table dynamique
    Par mamouna dans le forum ASP
    Réponses: 32
    Dernier message: 30/06/2004, 18h12
  5. Comment créer une Table dans 1 Bdd ACCESS avec Builder??
    Par makandja dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/03/2004, 20h21

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