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 :

Mettre la propriété "Sous feuille données non : Aucune" dans toutes les tables de la base par VBA


Sujet :

VBA Access

  1. #1
    Membre habitué Avatar de possible924
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2010
    Messages : 302
    Points : 159
    Points
    159
    Par défaut Mettre la propriété "Sous feuille données non : Aucune" dans toutes les tables de la base par VBA
    Bonjour à tous,
    Dans une base d'une centaine de tables,
    je souhaiterais mettre, par VBA, la propriété "Sous feuille de données non" sur "Aucune" dans toutes les tables de la base.
    Hélas mes connaissances en VBA, ne sont pas suffisantes pour régler ce problème

    Question subsidiaire :
    Est t'il possible en VBA de mettre tous les champs de toutes les tables par l'onglet "Liste de choix", "contrôle de l'affichage" sur la valeur "Zone de texte"

    Merci par avance pour votre aide
    Pierre

  2. #2
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Bonsoir,

    Voila déjà le code pour mettre la propriété "Sous feuille de donnée étendue" de toutes les tables à Non

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub MaManipulationDeTables()
    Dim voMaTable As TableDef
    On Error Resume Next
        For Each voMaTable In CurrentDb.TableDefs
            If Left(voMaTable.Name, 4) <> "MSys" Then
                voMaTable.Properties("SubdatasheetExpanded") = False
            End If
        Next
    End Sub
    Attention de ne pas manipuler les tables "System" d''ou le test sur "Msys"
    Ensuite En début de code je me sert de la syntaxe :
    Afin d'éviter le plantage générer par l'absence de la propriété qui n'est créée par Access que si la table a eu la propriété "Oui".
    Par défaut cette propriété n'existe pas dans l'objet "Tabledef" !

    Ensuite pour la seconde question ma réponse serait que c'est surement possible.
    Il faut parcourir les propriétés de la collection "Fields".
    Mais il faut trouver la bonne syntaxe, faire des boucles imbriquées et surtout faire attention au cas ou ces propriétés n'existeraient pas pour certains type de champs.
    A tester donc d’abord sur une table, etc ...
    @+


    Pensez au tag

  3. #3
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Et voila le second code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub MaManipulationDeChamps()
    Dim voMaTable As TableDef
    Dim I As Integer
    On Error Resume Next
        For Each voMaTable In CurrentDb.TableDefs
            If Left(voMaTable.Name, 4) <> "MSys" Then
                For I = 0 To voMaTable.Fields.Count - 1
                    voMaTable.Fields(I).Properties("DisplayControl").Value = 109
                Next
            End If
        Next
    End Sub
    @+


    Pensez au tag

  4. #4
    Membre habitué Avatar de possible924
    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2010
    Messages : 302
    Points : 159
    Points
    159
    Par défaut ça marche très bien
    ça marche très bien
    Merci
    Pierre

  5. #5
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Bonjour,

    Super
    Alors merci de penser au tag résolu
    @+


    Pensez au tag

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/10/2012, 19h31
  2. Réponses: 1
    Dernier message: 06/11/2009, 16h54
  3. Réponses: 2
    Dernier message: 14/11/2008, 17h42
  4. Réponses: 7
    Dernier message: 05/11/2008, 16h33

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