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 :

Recuperer noms de champs d'une table et remplir une autre table avec


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Recuperer noms de champs d'une table et remplir une autre table avec
    Bonjour
    J'ai vus ici et sur le web la maniérè de lire le noms des différentes tables et champs de ces tables dans une base access en affichant le résultat par une boite de dialogue , mais si je veux remplir une table avec le noms de ces champs comment faire ? Merci Bcp Marc

  2. #2
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Points : 1 266
    Points
    1 266
    Par défaut
    Bonjour,

    Pour faire cela, interesses toi à DAO et l'objet Recorset.
    Cordialement

    Christophe

    N'oubliez pas de mettre pour en faire profiter tout le monde.

  3. #3
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Un exemple de manipulation des objets TableDef et d'un recordset dans le cadre de vos besoins :

    Réaliser un dictionnaire de données

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Merci
    Merci à tous la base access ici est parfaite bonne soirée

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 10
    Points : 5
    Points
    5
    Par défaut DoCmd.TransferText acLinkDelim
    Bonjour

    je re ouvre ce dossier car sur certaines machines au boulot en Access 2007/3 peu importe mon import
    DoCmd.TransferText acLinkDelim......

    fonctionne sur certains poste et sur d'autres non. il me met tous les champs de ma table dans un seul champs séparés de ";"
    comme ci
    CHAMPS1
    -----------
    toto1;toto2;toto3;....

    Alors que j'attends

    CHAMPS1
    -----------
    TOTO1
    TOTO2
    TOTO3

    PS aucun format d'import car le fichier csv même s'il porte le même nom n'as pas forcement le même format
    j'ai essayer avec : CurrentDb.TableDefs.Refresh sans delier relier le fichier pareil

    Merci de votre aide bonne journée
    M

  6. #6
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Une autre piste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SQLtemp = SQLtemp & "select * from MaTable where 1 = 2 "
    set rstemp = CreateObject("ADODB.Recordset")
    connstring = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=MaBase.mdb"
    rstemp.open SQLtemp, connstring
    for i = 0 to rstemp.fields.count - 1
       msgbox rstemp.fields(i).name
    next
    rstemp.close
    set rstemp = nothing

  7. #7
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Points : 1 266
    Points
    1 266
    Par défaut
    Bonsoir,

    Jettes un oeil à ce post.
    Cordialement

    Christophe

    N'oubliez pas de mettre pour en faire profiter tout le monde.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bonsoir
    Merci à tous les 2
    La méthode de PC75 je ne la comprends pas...
    La méthode de marsouin_89 mon problème c'est que le format de la table à importée n'est pas connu le csv est différent a chaque fois, j'ai essayer de changer le ";" par un "," dans les paramétrés Windows mais rien donc tjrs bloqué

    Merci

  9. #9
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Salut,

    Est-ce que cet exemple pourrait t'aider ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        Dim tdf As DAO.TableDef
        Dim fld As DAO.Field
     
        For Each tdf In CurrentDb.TableDefs
            If (tdf.Attributes And dbSystemObject) = 0 And Left(tdf.Name, 1) <> "~" Then
                Debug.Print "Nom de la Table : " & tdf.Name
                For Each fld In tdf.Fields
                    Debug.Print "Nom duchamps : " & fld.Name
                Next fld
            End If
            Debug.Print "=================================="
        Next tdf
        Set tdf = Nothing
        Set fld = Nothing
    NB : Il faut activer la bibliothèque DAO.
    L'informatique fait gagner beaucoup de temps. A condition d'en avoir beaucoup devant soi !!!

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/06/2012, 12h12
  2. [AC-2003] Comparer deux champs dans une table et remplir un autre champ
    Par frexville dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/09/2009, 12h52
  3. Recuperation Nom des Champs d'une table
    Par Djekill dans le forum Access
    Réponses: 2
    Dernier message: 31/07/2006, 15h47
  4. Données d'une table deviennent colonne dans autre table?
    Par christophe1245 dans le forum Access
    Réponses: 8
    Dernier message: 19/12/2005, 22h01
  5. 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