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 :

lister des contrôles dans un ou plusieurs formulaires d'une autre base de données


Sujet :

VBA Access

  1. #1
    Membre éprouvé Avatar de RGShoop
    Homme Profil pro
    Freelance
    Inscrit en
    Août 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 112
    Par défaut lister des contrôles dans un ou plusieurs formulaires d'une autre base de données
    Bonjour,

    J'aimerai pouvoir lister les contrôles dans des formulaires sités sur une base de données distante.

    J'arrive à ouvrir la base distante, j'arrive à énumérer les formulaires mais je n'arrive pas à les lister.

    Voici mon bout de 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
    Dim TestForm As Form
    Dim Ctrl As Control
    Dim dbExt1 As Access.Application
     
    Set dbExt1 = New Access.Application
        dbExt1.OpenCurrentDatabase oCheminApplication, True
        dbExt1.Visible = False
     
     
                        For Each TestForm In dbExt1.Forms
                            Debug.Print TestForm.Name
                            DoCmd.OpenForm dbExt1.Forms(TestForm.Name)
     
                                    For Each Ctrl In TestForm.Controls
                                    Debug.Print TestForm.Name & " -" & Ctrl.Name
                                    Next Ctrl
     
                         Next TestForm
     
     
    'Libération des variables
    dbExt1.Quit
     
    Set dbExt1 = Nothing
    Merci de votre aide

    A+ RGShoop

  2. #2
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Bonjour,


    A première vue, je pense que le problème vient de la collection de forms utilisée....
    Forms représente la collection des formulaires déjà ouverts et non l'ensemble des forms...

    J'ai repéré d'autres petites anomalies....


    Essaie (non testé)

    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
    Dim TestForm As Form
    Dim oForm As AccessObject
    Dim Ctrl As Control
    Dim dbExt1 As Access.Application
     
    Set dbExt1 = New Access.Application
        dbExt1.OpenCurrentDatabase oCheminApplication, True
        dbExt1.Visible = False
     
     
                        For Each TestForm In dbExt1.AllForms
                            Debug.Print oForm.Name
                            dbExt1.DoCmd.OpenForm oForm.Name, acDesign
                            Set TestForm = dbExt1.Forms(oForm.Name)
                            For Each Ctrl In TestForm.Controls
                                Debug.Print TestForm.Name & " -" & Ctrl.Name
                            Next Ctrl
                            dbExt1.DoCmd.Close acForm, TestForm.Name, acSaveNo
                         Next TestForm
     
     
    'Libération des variables
    dbExt1.Quit
     
    Set dbExt1 = Nothing

  3. #3
    Membre éprouvé Avatar de RGShoop
    Homme Profil pro
    Freelance
    Inscrit en
    Août 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 112
    Par défaut
    Merci de ta réponse,

    j'avais déjà essayé avec 'allforms' seulement cela ne fonctionne pas non plus, il doit me manquer un truc pour que cela ce décoince et je n'y arrive pas ....

    Tu n'aurais pas d'autres précisions sur le sujet, SVP

    Merci RGShoop

  4. #4
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Autant pour moi...

    Je viens d'essayer ceci ... ça marche
    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
     
    Dim oForm As Form
    Dim Ctrl As Control
    Dim oAcApp As Access.Application
    Dim odb As Database
    Dim oDoc As Document
    Dim oCt As Container
    Dim oCheminApplication As String
     
    Set oAcApp = New Access.Application
        oAcApp.OpenCurrentDatabase oCheminApplication, True
        Set odb = oAcApp.DBEngine(0)(0)
        oAcApp.Visible = False
     
        Set oCt = odb.Containers("Forms")
     
                        For Each oDoc In oCt.Documents
                            Debug.Print oDoc.Name
                            oAcApp.DoCmd.OpenForm oDoc.Name, acDesign
                            Set oForm = oAcApp.Forms(oDoc.Name)
                            For Each Ctrl In oForm.Controls
                                Debug.Print oForm.Name & " -" & Ctrl.Name
                            Next Ctrl
                            oAcApp.DoCmd.Close acForm, oForm.Name, acSaveNo
                         Next oDoc
     
     
    'Libération des variables
    oAcApp.Quit
     
    Set oAcApp = Nothing

  5. #5
    Membre éprouvé Avatar de RGShoop
    Homme Profil pro
    Freelance
    Inscrit en
    Août 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 112
    Par défaut
    La grande classe!!!

    Cela marche très bien,

    Merci, RGshoop

  6. #6
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Citation Envoyé par RGShoop
    La grande classe!!!

    Cela marche très bien,

    Merci, RGshoop

    De rien

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/09/2012, 11h03
  2. Réponses: 8
    Dernier message: 10/04/2009, 09h57
  3. Lister les formulaires d'une autre base de données
    Par beaucy dans le forum VBA Access
    Réponses: 3
    Dernier message: 23/09/2007, 09h43
  4. Ouverture formulaire d'une autre base de données
    Par aba_tarn dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/07/2007, 08h43
  5. Réponses: 8
    Dernier message: 20/07/2006, 14h08

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