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 :

Modifier la propriété "Description" d'une table en VBA ? [AC-2003]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Juillet 2007
    Messages : 42
    Par défaut Modifier la propriété "Description" d'une table en VBA ?
    Bonjour,

    J'ai un petit soucis, j'ai fait une fonction en VBA qui va Lier des tables d'une base de donnée Oracle, jusqu'ici pas de problème. J'aimerai également inclure dans cette fonction, la possibilité de mettre une description de la table du genre de quel serveur et quelle base elle provient.

    J'ai fouillé un peu partout, et sur le net j'ai trouvé un truc qui devrait fonctionner mais cela ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CurrentDb.TableDefs("NOM DE LA TABLE").Properties("Description") = "
    Test description"
    j'obtiens l'erreur N° 3270, Propriété non trouvée.

    Quelqu'un aurait il une idée du problème ?

    d'avance merci

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Le problème vient du fait que la propriété description n'existe vraiment que quand tu as entré une description.

    J'ai utiliser une parade : entrer à la main un . dans chacune des descriptions de mes tables puis lancer un prog qui change la description.

    Il me semble qu'il y la possibilité de créer la description par programme mais je ne me souviens plus comment. Essaye une recherche sur Google 'Adding description to table in microsoft access'.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Je pense que ce qui se trouve dans les sources Access devrait t'aider :

    Obtenir la propriété (ici "Description") d'un champ de table

    Philippe

  4. #4
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Juillet 2007
    Messages : 42
    Par défaut
    Bonjour,

    Alors j'ai tenté d'adapter la procédure qui modifie la description d'un champ pour que cela modifie que la description de ma table, mais cela n'a pas l'air de fonctionner, car la description est toujours vide et je n'ai pas de message d'erreur en retour quand je test.

    Voici comment j'ai adapté le code :

    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
    34
    35
    36
    Function fnctGetFieldDescription(ByVal WhatTable As String, Optional ByVal PropertyName As String = "Description", Optional ByVal CreateIt As Boolean = False)
    Dim oDB As DAO.Database
    Dim oTBL As DAO.TableDef
    Dim oPRP As DAO.Property
    Dim strDescription As String
     
      On Error GoTo L_Err_FieldDescription
      strDescription = vbNullString
     
      Set oDB = CurrentDb
      Set oTBL = oDB.TableDefs(WhatTable)
     
      strDescription = oTBL.Properties(PropertyName)
     
    L_Ex_FieldDescription:
      Set oDB = Nothing
      Set oTBL = Nothing
      Set oPRP = Nothing
      fnctGetFieldDescription = strDescription
      Exit Function
     
    L_Err_FieldDescription:
      If Err = 3270 Then
        If CreateIt Then
          Set oPRP = oTBL.CreateProperty(PropertyName, dbText, _
       "Nouvelle description")
          oTBL.Properties.Append oPRP
          MsgBox "La propriété '" & PropertyName & "' a été ajoutée a la table " & _
       WhatTable & "...", 48, "Propriété ajoutée à la collection"
        End If
      Else
        MsgBox "Impossible d'avoir des information sur la table '" & WhatTable & _
       "' !" & vbCrLf & Err.Description, 48, "Erreur"
      End If
      Resume L_Ex_FieldDescription
    End Function
    J'appel ma function avec :

    fnctGetFieldDescription("maTableTest", "test ", True)

  5. #5
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Juillet 2007
    Messages : 42
    Par défaut
    En fait je me suis trompé, cela fonctionne, j'ai remarqué ce matin en ouvrant ma base que j'avais des descriptions sur mes tables. Le problème venait qu'il n'avait pas raffraichit la vue des tables, alors maintenant quand je clique d'un onglet à un autre je vois bien mes descriptions et cela me convient bien, car le but était que je mette dans ma description, la provenance de la table ainsi que le nom de la bdd.

    Je vous remercie de votre aide.

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

Discussions similaires

  1. Réponses: 20
    Dernier message: 17/12/2015, 11h54
  2. Modifier les propriétés d'un champ d'une table
    Par papyxy dans le forum VBScript
    Réponses: 5
    Dernier message: 17/03/2014, 14h54
  3. [VBA-E] Modifier les propriétés d'un control par une routine
    Par formath dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/03/2007, 10h45

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