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 :

paramètrer les colonnes d'une table en VBA


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 174
    Points : 122
    Points
    122
    Par défaut paramètrer les colonnes d'une table en VBA
    Bonjours,
    je crée une table en VBA de la façon ci dessous :
    Mais a l'affichage la table s'affiche avec des largeurs de colonne standards de access. J'aimerai pouvoir donner une largeur différentes à la création de la table, pour avoir un affichage à l'ouverture que je n'ai pas a modifier.
    est-ce possible?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Set tbl = Db.CreateTableDef("tempo") 'Création d'une table
    Set fld = tbl.CreateField("Champ1", dbText)   'création du champ désignation
        fld.OrdinalPosition = 1                         'champ position 1
        fld.Size = 20                                   'taille 10 caractères
        tbl.Fields.Append fld                           'ajout du champ dans la table
     
    Set fld = tbl.CreateField("Champ2", dbText)   'création du champ Item
        fld.OrdinalPosition = 2                         'champ position 2
        fld.Size = 50                                   'taille 10 caractères
        tbl.Fields.Append fld                           'ajout du champ dans la table
    etc. etc.
    Merci

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    Après quelques essais je suis arrivé à le faire.
    Il faut ajouter des propriétés aux champs de la table.
    Pour je ne sais quelle raison, ces propriétés ne peuvent être ajoutées qu'une fois la table ajoutée à la collection TableDefs.
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Dim db As DAO.Database
    Dim tdef As DAO.TableDef, fld As DAO.Field, p As DAO.Property
    
    Set db = CurrentDb
    
    Set tdef = db.CreateTableDef("Table1")
    ' Crée 1er champ
    Set fld = tdef.CreateField("Champ1", dbText, 50)
    tdef.Fields.Append fld
    ' Crée 2e champ
    Set fld = tdef.CreateField("Champ2", dbText, 50)
    tdef.Fields.Append fld
     ' Ajoute la table à la collection
    db.TableDefs.Append tdef
    
    Set tdef = db.TableDefs("Table1")
    ' Crée propriété largeur colonne à 2000 twips (2000/567 cm)
    Set p = db.CreateProperty("ColumnWidth", dbInteger, 2000)
    ' L'ajoute au champ champ1
    tdef.Fields("Champ1").Properties.Append p
    ' Propriété pour définir l'ordre d'affichage des colonnes
    Set p = db.CreateProperty("ColumnOrder", dbInteger, 2)
    tdef.Fields("Champ1").Properties.Append p
    ' Proriété pour masquer les colonnes
    Set p = db.CreateProperty("ColumnHidden", dbBoolean, False)
    tdef.Fields("Champ1").Properties.Append p
    
    Set p = db.CreateProperty("ColumnWidth", dbInteger, 4000)
    tdef.Fields("Champ2").Properties.Append p
    Set p = db.CreateProperty("ColumnOrder", dbInteger, 1)
    tdef.Fields("Champ2").Properties.Append p
    Set p = db.CreateProperty("ColumnHidden", dbBoolean, False)
    tdef.Fields("Champ2").Properties.Append p
    En espèrant que ça fonctionne pour toi aussi.
    A+

  3. #3
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 174
    Points : 122
    Points
    122
    Par défaut Merci
    Merci de cette réponse, ca marche
    merci encore

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/02/2009, 17h41
  2. [SQL-Server] Lister les colonnes d'une table
    Par tintin31000 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/10/2008, 11h33
  3. Lister les colonnes d'une table
    Par spg40 dans le forum Administration
    Réponses: 7
    Dernier message: 30/03/2007, 15h20
  4. [ADO] Lister les colonnes d'une table DBF
    Par drouault dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/09/2006, 17h21
  5. Réponses: 6
    Dernier message: 01/08/2006, 18h12

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