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

IHM Discussion :

[Formulaire-ACCESS 2003] Comment ouvrir mes formulaires à partir d'une zone de liste


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 9
    Points : 7
    Points
    7
    Par défaut [Formulaire-ACCESS 2003] Comment ouvrir mes formulaires à partir d'une zone de liste
    Bonjour,

    Je dispose d'un grand nombre de formulaire (une trentaine), chacun presentant les résultats d'un requête differente.

    Je souhaite créer un dernier formulaire "menu général" qui me permette d'ouvrir les differents formulaires à partir d'une zone de liste qui recense tous mes formulaires.

    Exemple: En cliquant sur la ligne "recolte" de ma zone de liste, j'ouvre le formulaire "recolte" qui contient les informations relatives à ma récolte.

    Je précise que cette zone de liste sera elle même le résultat d'un requete qui permettra de filtrer le choix des formulaires à ouvrir en fonction de certains critères.

    J'ai trouvé des posts pour ouvrir un formulaire à un enregistrement donné à partir d'une zone de liste, mais aucun expliquant comment ouvrir plusieurs formulaires.

    Merci pour vos conseils et piste de recherche.

  2. #2
    Membre actif
    Inscrit en
    Mai 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 179
    Points : 222
    Points
    222
    Par défaut
    Joyeux Noel,

    Le petit bout de code suivant devrait t'aider : il donne la liste des formulaires existants dans la base courante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub ContainerObjectForms()
        Dim dbsNorthwind As Database, unDoc As Document
        Set dbsNorthwind = CurrentDb
        For Each unDoc In dbsNorthwind.Containers("Forms").Documents
            Debug.Print unDoc.Name
        Next
    End Sub

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Bonjour

    Le listing des formulaires fonctionne bien. Mais le noeud du probleme est ailleurs.

    La zone de liste présente tous les formulaires disponibles. Comment faire pour ouvrir un formulaire en cliquant sur une des lignes (une ligne = un formulaire différend a chaque fois).

    Merci et bonnes fêtes à tous,

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

    As-tu essayé sur l'évènement click d'ouvrir ton formulaire ?

    Quel type de code as-tu essayé ? Peux-tu nous le mettre sur le forum.

    Starec

  5. #5
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,

    Voici deux petites procédures que tu pourras adapter à ton problème

    la première qui s'exécute à l'ouverture du formulaire :

    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
    Sub Form_Open(Cancel as integer)
    ' Déclaration des varialbes
    Dim MaBase as DataBase, Formulaire as Document
    Dim strListeFormulaires as String
     
    ' Initialisation de la variable récupérant la Base en cours
    Set MaBase = CurrentDb
     
    ' Boucle pour récupérer tous les noms des formulaires
    For Each Formulaire in CurrentDb.Containers("Forms")Document
        ' Concaténation du nom du formulaire et d'un séparateur ";"
        strListeFormulaires = strListeFormulaires & Formulaire.Name & ";"
    Next
     
    ' Extraction du dernier ";" de la chaine
    strListeFormulaires = Left(strLiseFormulaires,Len(strLsiteFormulaires)-1)
     
    ' Initialisation de la liste déroulante
    cboForms.RowSourceType = "Liste Valeurs"
    cboForms.RowSource = strListeFormulaires
    End Sub
    La seconde s'exécute en choisissant le nom du formulaire à ouvrir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub cboForms_Click()
        ' cboForms est le nom de la liste déroulante posée sur le formulaire
        docmd.OpenForm cboForms
    End Sub
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  6. #6
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 9
    Points : 7
    Points
    7
    Par défaut euhh
    Merci Jeannot 45, mais la ligne suivante ne fonctionne pas. Il ne manque pas quelque chose?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' Boucle pour récupérer tous les noms des formulaires
    For Each Formulaire in CurrentDb.Containers("Forms")Document

  7. #7
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    mille excuses,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' Boucle pour récupérer tous les noms des formulaires
    For Each Formulaire in CurrentDb.Containers("Forms").Document
    Il manque le . avant Document
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  8. #8
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    D'accord j'ai trouvé le probleme, il manquait juste un point, le s a document et le nom de la variable à la place de currentDb

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Form_Open(Cancel as integer)
    ' Déclaration des varialbes
    Dim MaBase as DataBase, Formulaire as Document
    Dim strListeFormulaires as String
     
    ' Initialisation de la variable récupérant la Base en cours
    Set MaBase = CurrentDb
     
    ' Boucle pour récupérer tous les noms des formulaires
    For Each Formulaire in MaBase.Containers("Forms").Documents
        ' Concaténation du nom du formulaire et d'un séparateur ";"
        strListeFormulaires = strListeFormulaires & Formulaire.Name & ";"
    Next
    Tout marche au poil. Merci beaucoup.

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

Discussions similaires

  1. comment ouvrir un FileStream à partir d'une position choisie
    Par ryoussef19 dans le forum VC++ .NET
    Réponses: 2
    Dernier message: 19/06/2007, 13h58
  2. Réponses: 5
    Dernier message: 11/08/2006, 22h14
  3. Comment ouvrir Outlook Express à partir d'une form ( Form's buider d'oracle)?
    Par Fleur-Anne.Blain dans le forum Outlook Express / Windows Mail
    Réponses: 3
    Dernier message: 17/07/2006, 11h15
  4. [Access 2003]Comment personnaliser un formulaire?
    Par steeves5 dans le forum Access
    Réponses: 5
    Dernier message: 01/07/2006, 13h49
  5. Réponses: 11
    Dernier message: 02/06/2006, 11h35

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