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

Access Discussion :

[vba] modifier les proprieté des champs d'une table ?


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 121
    Points : 56
    Points
    56
    Par défaut [vba] modifier les proprieté des champs d'une table ?
    bonjour, je souhaiterai modifier les propriétés des champs de mes tables et particulierement mettre chaine vide autorisée a TRUE quand le champ le permet.
    quelqu'un aurait il une idée ?

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Pour les champs texte ou mémo, chaîne vide autorisé, c'est la propriété AllowZeroLenght.
    Valeur Null c'est la propriété Requiered.

    Dans les deux cas ces propriétés sont en lexture/écriture pour les champs d'une Tabledef.

    Bon courage,

    pgz

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    comme ca peut être


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    sub videok()
    Dim mabase As DAO.Database
    Dim matable As DAO.TableDef
    Dim monchamp As DAO.Field
    Set mabase = CurrentDb()
    For Each matable In mabase.TableDefs
    If Left(matable.Name, 4) <> "msys" And Len(matable.Connect) = 0 Then
    For Each monchamp In matable.Fields
    If monchamp.Type = 10 Then monchamp.AllowZeroLength = True
    Next monchamp
    End If
    Next matable
    End Sub

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 121
    Points : 56
    Points
    56
    Par défaut
    ok merci cela fonctionne tres bien

    par contre jai un probleme.

    il bloque au niveau de la table MsysObjects , alors que le test
    If Left(matable.Name, 4) <> "msys" aurait du l'ecarter
    une idée ?

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    cela vient sans doute de tes options de comparaison
    fais ucase(Left(matable.Name, 4)) <> "MSYS"

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 121
    Points : 56
    Points
    56
    Par défaut
    ok merci ,

    en fait je men etais sorti avec un

    reg.Pattern = "Msys"

    For Each tbd In Db.TableDefs
    If Left(tbd.Name, 4) <> "Msys" And tbd.Name <> "MsysObjects" And Len(tbd.Connect) = 0 Then
    If reg.test(tbd.Name) = False Then
    ...

    ultra lourd certe
    merci encore !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/12/2007, 19h06
  2. Réponses: 2
    Dernier message: 01/08/2006, 13h38
  3. [MySQL] Supprimer les informations des champs dans une table (suite)
    Par snakejl dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 26/05/2006, 15h37
  4. [VBA-A]modifier la description des champs d'une table
    Par damiensimon dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/03/2006, 16h23
  5. Modifier le nom des champs d'une table...
    Par Mr Capone dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/01/2005, 10h22

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