Est ce possible de liste les états access avec OpenSchema ?

Résolu
Robinwood01 Messages postés 153 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 3 juillet 2014 - 29 août 2006 à 00:19
Robinwood01 Messages postés 153 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 3 juillet 2014 - 29 août 2006 à 14:30
Bonjour

J'utilise le code ci dessous pour lister le nom des tables dans ma bases access, est ce possible de faire de même pour lister les états ?

  Set Enr = Base.OpenSchema(adSchemaTables)
   
    Do While Not Enr.EOF
        DoEvents
        If Enr!TABLE_TYPE = "TABLE" Then MsgBox Enr!TABLE_NAME
        Enr.MoveNext
    Loop
   
    Enr.Close

Merci d'avance pour les éléments que vous pourrez m'apporter.

9 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 août 2006 à 12:29
Tu peux faire :

Dim oAccess As Access.Application
Dim oReport As Access.AccessObject
    Set oAccess = New Access.Application
    oAccess.Visible = False
    oAccess.AutomationSecurity = msoAutomationSecurityLow
    oAccess.OpenCurrentDatabase CHEMINRESEAU & CHEMINBASE, , "lema2006"
    For Each oReport In oAccess.CurrentProject.AllReports
        MsgBox oReport.Name
    Next oReport
    oAccess.Quit

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 août 2006 à 10:14
Je crois que tu vas devoir faire joujou avec un objet Access.Application

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Robinwood01 Messages postés 153 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 3 juillet 2014
29 août 2006 à 10:23
On m'a dit pareil avec la table pourtant je viens de réussir.

En faite c'est pas le access.application qui me gène, c'est parce que lorsque j'ai une autre base access ouverte, mon code ne marche plus, on dirais qu'il ne c'est pas qu'elle access prendre.

Quelqu'un a une solution.

Merci d'avance
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 août 2006 à 10:41
ADO n'est pas fait que pour MsAccess...

les Etats Access lui sont propres, et OpenSchema propose des données que Access ne gère pas adSchemaActions / adSchemaFunctions ...

pour lister les etats Access, il semble que tu n'aies pas le choix...

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Robinwood01 Messages postés 153 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 3 juillet 2014
29 août 2006 à 11:42
ah ok.

Voila le code que j'utilise mais quand il y a un autre access d'ouverte avec une autre base ca marche plus.

Set Access = CreateObject("Access.Application")
Access.Visible = False
Access.OpenCurrentDatabase CHEMINRESEAU & CHEMINBASE, , "lema2006"


Dim dbs As Database
Set dbs = Access.CurrentDb
        
 Dim n As Integer
 Dim i As Integer
 Dim C As Container Set C dbs.Containers("Reports") 'ou Set C dbs.Containers(4)
  n = C.Documents.Count
  For i = 0 To n - 1
        MsgBox dbs.Containers("Reports")(i).Name
  Next i

J'ai vue qu'il y a aussi le Getobjet alors je sais pas trop ...
0
Robinwood01 Messages postés 153 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 3 juillet 2014
29 août 2006 à 13:06
Ca a l'air de marcher, même avec mon code, je comprend pas trop, je devais faire une mauvaise manip.

Cependant ton code est beaucoup plus propre que le mien.

Un grand merci.
0
Robinwood01 Messages postés 153 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 3 juillet 2014
29 août 2006 à 13:08
L'application est destiné a être utilisé toutes la journée.

Je risque de faire appel a ce code plusieurs fois.

Je ferme access a chaque fois ou je laisse ouvert access et je le ferme uniquement quand je ferme le prog VB ?
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 août 2006 à 14:27
libre à toi de faire comme bon te semble ^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Robinwood01 Messages postés 153 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 3 juillet 2014
29 août 2006 à 14:30
La je l'ouvre au load et je le ferme au unload de la fenetre princiaple, ca à l'air de bien marcher.

Je vais faire un teste avec le runtime access, car c'est avec lui que je doit faire marcher tout ca, j'espère que ca marche de la même manière.
0
Rejoignez-nous