Lister tout les objet d'une base access?

thedavix Messages postés 466 Statut Membre -  
 blackbird -
Salut a vous,
J'ai une question,
J'aimerai faire un bouton qui me sorte tous les noms de mes tables, requetes, formulaire, états, modules, macros et qu'il me copie les nom dans une table..
Je sais que ca dois se faire avec la table MSysObject et une requette SQL mais j'arrive pas..
Quelqu'un me donnerai un peti cou de pousse ?

" celui qui comprend... est perdu..." =;o)

4 réponses

  1. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    ben oui qu'on peut faire...
    en SQL, j'ai jamais fait, mais en VB oui ! (mais pas avec MsysObject.)

    Ma méthode (avec laquelle je suis d'accord) :

    Dim Bds As Database
    Dim i as integer
    Dim l as integer
    Dim Str1 as string
    Set Bds = CurrentDb
    l = Bds.TableDefs.Count
    l = l - 1
    For i = 0 To l
    Str1 = Bds.TableDefs(i).Name
    ' Pas les tables 'systeme'
    If Left$(Str1, 4) <> "Msys" Then
    MsgBox (Str1)
    End If
    Next

    Ca te va ? C'est uniquement pour les tables, sinon tu as querydefs, forms, indexes...
    Regarde l'aide ACCESS pour les 'Collections'

    Pour les ajouts dans une table, je peux faire aussi, mais faut vraiment demander gentiment !

    A+ Blux            "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    0
    1. WhiteFang Messages postés 2063 Statut Membre 204
       
      Ho là là mon pauvre !!

      Tu ne connais pas la boucle FOR EACH ?? Ouaaa, essaie, tu vas voir, ça va te changer la vie !!

      Essaie ça :

      For Each Obj in Currentdb.TableDefs
      If Ucase(Left(Obj.Name,4) <> "MSYS" Then MsgBox Obj.Name
      Next

      Maintenant, tu comptes le nombre de lignes !! Sans oublier les boucles imbriquées, mon petit père !! Hop là !! ;-))

      Wild and Free
      0
    2. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455 > WhiteFang Messages postés 2063 Statut Membre
       
      "mon petit père" ????!!!!!

      on s'connait ?! :-)

      nan, mais c'est vrai que je l'utilise pas souvent le FOR EACH, c'est paske je fais de la recopie de code et que mon code d'origine comprend bien plus de lignes que ça.

      et pis entre parenthèses, j'ai pas plus de boucles imbriquées que toi (et toc ! ;->>)

      A+ Blux            "Les cons, ça ose tout.
      C'est même à ça qu'on les reconnait"
      0
    3. WhiteFang Messages postés 2063 Statut Membre 204 > blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention  
       
      Je ne sais pas si on se connaît, je vois trop de monde pour me rappeler de tous !!

      Pi tu crois que tu as plus de boucle imbriquées que moi ? Tu dois être sacrément frisé !! ;-) Plus sérieusement, va sur mon site : http://domlevinfo.free.fr/ et tu me diras si tu fait plus de boucles imbriquées !! Héhé, c'est pépé qui koze !!
      Sinon, un petit cadeau qui peut servir sous access :

      'Analyse des objets d'une base---------------------------------------------------------------------
      Sub AnalyseObjets()
      Dim A, B
      For Each A In Application.CurrentDb.Containers
      For Each B In A.Documents
      Debug.Print A.Name, B.Name
      Next
      Next
      End Sub
      'Analyse des barres de commandes-------------------------------------------------------------------
      Sub AnalyseBarresMenus()
      Dim A, B
      For Each A In Application.CommandBars
      For Each B In A.Controls
      Debug.Print A.Name, B.Caption
      Next
      Next
      End Sub

      -----Remplace les debug.print par ce que tu veux (propriétés, méthodes, que sais-je) et hop là, maîtrise des objets et barres de commandes !! Tu peux imaginer pleins de trucs !!

      J'espère que ça te plaît et sera utile... ;-)

      Wild and Free
      0
    4. WhiteFang Messages postés 2063 Statut Membre 204 > blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention  
       
      Ha oui, et si tu veux mettre tout ça dans une table :

      'Création dynamique de table-----------------------------------------------------------------------
      Sub CreationDeTable()
      Dim LaBase As Database
      Dim TableExp As TableDef
      Set LaBase = CurrentDb
      Set TableExp = LaBase.createtabledef("temp")
      With TableExp
      .Fields.Append .CreateField("ex", dbtext, 50)
      End With
      LaBase.TableDefs.Append TableExp
      End Sub

      ----- Pouf pouf, maintenant, y'a plus qu'a associer ça à l'événement "click" d'un bouton....

      ;-)
      Wild and Free
      0
    5. WhiteFang Messages postés 2063 Statut Membre 204 > blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention  
       
      Avec tout ça, théavix à résolu son problème, normalement...

      Wild and Free
      0
  2. Utilisateur anonyme
     
    bah, je comprends pas.

    la requête que je t'ai donnée hier elle marche! je l'ai essayée chez moi avant de te la donner...

    :-(

    kinder.surprise,
    le maton du matou
    0
    1. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      scuse-moi, mon oeuf favori, j'voulais pas interférer... ;-)

      A+ Blux            "Les cons, ça ose tout.
      C'est même à ça qu'on les reconnait"
      0
    2. Utilisateur anonyme
       
      non non t'inquiète, c'est la démarche de thedavix que je ne comprends pas.

      enfin bon pas grave...

      kinder.surprise,
      le maton du matou
      0
      1. thedavix Messages postés 466 Statut Membre 35 > Utilisateur anonyme
         
        Salut kinder ca va?
        Je viens de voir que vous vous déchiriez avec ca, mais c'est que ce massage j'ai l'ai posté qque jours avant l'autre ou tu m'a tout expliqué..
        Non t'en fait pas je suis pas quand meme fou, je vais pas poster 2x la meme chose surtout si ca marchait trop bien ce que tu m'avais donné
        merci encore


        " Le vrai savant n'est pas celui qui apprend,
        mais celui qui comprend... " =;o)
        0
      2. Utilisateur anonyme > thedavix Messages postés 466 Statut Membre
         
        LOL non t'inquiète on se déchire pas (-:

        c'était juste un malentendu, t'inquiète (-;

        kinder.surprise,
        le maton du matou
        0
  3. WhiteFang Messages postés 2063 Statut Membre 204
     
    J'ai déjà écrit ça, c'est kaike part sur mon disque...

    Tu le veux ?

    Si oui, envoie-moi un mail, et je te ferait un retour de pièce-jointe...

    Wild and Free
    0
  4. blackbird
     
    bonjours j ai un mini prjet sur (elaborer et exploiter un questionnaire avec access) pouvez -vous m'aider ?
    MERCI
    0