Lister tout les objet d'une base access?

Fermé
thedavix Messages postés 466 Date d'inscription mardi 21 mai 2002 Statut Membre Dernière intervention 31 août 2006 - 11 sept. 2002 à 15:48
 blackbird - 1 mai 2008 à 13:01
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

blux Messages postés 26113 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 juin 2024 3 293
13 sept. 2002 à 09:51
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
WhiteFang Messages postés 2056 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204
16 sept. 2002 à 16:15
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
blux Messages postés 26113 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 juin 2024 3 293 > WhiteFang Messages postés 2056 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008
17 sept. 2002 à 10:05
"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
WhiteFang Messages postés 2056 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204 > blux Messages postés 26113 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 juin 2024
17 sept. 2002 à 17:27
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
WhiteFang Messages postés 2056 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204 > blux Messages postés 26113 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 juin 2024
17 sept. 2002 à 17:30
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
WhiteFang Messages postés 2056 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204 > blux Messages postés 26113 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 juin 2024
17 sept. 2002 à 17:33
Avec tout ça, théavix à résolu son problème, normalement...

Wild and Free
0
Utilisateur anonyme
13 sept. 2002 à 12:17
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
blux Messages postés 26113 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 12 juin 2024 3 293
13 sept. 2002 à 13:34
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
Utilisateur anonyme
13 sept. 2002 à 13:57
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
thedavix Messages postés 466 Date d'inscription mardi 21 mai 2002 Statut Membre Dernière intervention 31 août 2006 35 > Utilisateur anonyme
17 sept. 2002 à 09:24
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
Utilisateur anonyme > thedavix Messages postés 466 Date d'inscription mardi 21 mai 2002 Statut Membre Dernière intervention 31 août 2006
17 sept. 2002 à 15:28
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
WhiteFang Messages postés 2056 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 15 février 2008 204
16 sept. 2002 à 16:18
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
bonjours j ai un mini prjet sur (elaborer et exploiter un questionnaire avec access) pouvez -vous m'aider ?
MERCI
0