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 :

Sous formulaire et table dynamiques [AC-2003]


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 169
    Points : 100
    Points
    100
    Par défaut Sous formulaire et table dynamiques
    Bonjour,
    J'ai une forme FMain qui contient un comboBox de choix et un sous-formulaire sFMain.
    Selon le choix, il doit afficher une table T dont la structure est variable (table créée dynamiquement sous VBA du combo: le nombre et noms des champs peuvent être différents).
    Pour ce qui est de mettre à jour le recordsource, pas de soucis mais y-a-t-il un moyen de changer les champs affichés dans le sous-formulaire reliés à ce même recordsource?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Bonjour,

    Bien sûr que tu pourrais regarnir sFMain à la volée, vois la Faq http://access.developpez.com/faq/?pa...#formdynamique
    Mais ce serait sans doute plus simple que tu crées autant de formulaires adaptés et que, à la volée, tu assignes le formulaire ad hoc en tant que sous-formulaire de FMain.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 169
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par ClaudeLELOUP Voir le message
    Bonjour,

    Bien sûr que tu pourrais regarnir sFMain à la volée, vois la Faq http://access.developpez.com/faq/?pa...#formdynamique
    Mais ce serait sans doute plus simple que tu crées autant de formulaires adaptés et que, à la volée, tu assignes le formulaire ad hoc en tant que sous-formulaire de FMain.
    Merci pour ta réponse.

    Créer des formulaires pré-remplis est impossible car comme indiqué dans mon problème, le nombre de champs n'est pas connu à priori (recordsource variable). La solution de la FAQ avec une adaptation du fait que la requête SQL est variable semble, bien que lourde, répondre à la problématique.

    Mais peut être une autre solution existe?

    Cordialement

    Olivier

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    le nombre de champs n'est pas connu à priori
    Quelque chose m'échappe !

    À un item de la liste, correspond un et un seul type de formulaire, non ?

    Je ne comprends pas « n'est pas connu a priori ».

    Bien sûr, tu ignores a priori l'item que l'utilisateur va choisir, mais quand il a fait son choix, j'imagine qu'il n'y a qu'un seul format qui convient à cet item-là !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 169
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par ClaudeLELOUP Voir le message
    Quelque chose m'échappe !

    À un item de la liste, correspond un et un seul type de formulaire, non ?

    Je ne comprends pas « n'est pas connu a priori ».

    Bien sûr, tu ignores a priori l'item que l'utilisateur va choisir, mais quand il a fait son choix, j'imagine qu'il n'y a qu'un seul format qui convient à cet item-là !
    Pour être plus précis, le Combo présente un choix alimenté par une table alimentée en externe. Donc n choix possibles.

  6. #6
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    OK donc, je ne sais pas t'en dire plus !

  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


    Créer des formulaires pré-remplis est impossible car comme indiqué dans mon problème, le nombre de champs n'est pas connu à priori (recordsource variable)
    Pour être plus précis, le Combo présente un choix alimenté par une table alimentée en externe. Donc n choix possibles.
    Un moyen pour connaitre le nombre de champs de ta requête source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Dim l_strSql As String
        Dim l_intNbChamps As Integer
        Dim l_qryTemp As QueryDef
        
        l_strSql = "Indique ici ton recordsource"
        Set l_qryTemp = CurrentDb.CreateQueryDef("", l_strSql)
    Tu places ce code en début de procédure après mise à jour de la liste. Tu obtiens le nombre de champs et du coup, la procédure de la FAQ devient très intéressante.

    Bonne continuation

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

    Si ton sous-formulaire n'est là que pour un aspect visuel (pas de saisies à l'intérieur), tu peux le remplacer facilement par une zone de liste, en mettant en source la requête, et en modifiant uniquement le nombre de colonnes.

    Il existe même un code dans un tuto sur les formulaires de recherches de Loufab qui explique comment faire une largeur de liste dynamique.

    Philippe

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 169
    Points : 100
    Points
    100
    Par défaut
    Désolé de ma réponse tardive.
    J'avais trouvé la solution: un sous-formulaire dont le recordsource est un query de je modifie dynamiquement.
    Selon le choix dans le combo, je "deconnectais" le sous formulaire, recréais le query, et selon le nombre et le nom des champs reournés, je créais dynamiquement les contrôles dans le sous-formulaire puis le "reconnectais" au formulaire principal. Ça marchait nickel dans mon mdb...Oui mais voilà, le but était de faire un mde et là...ça ne marche plus (création/modification de formulaires interdits dans un mde)

    Je suis donc passé par un sous-formulaire avec des champs que je cache selon le nombre de champs retournés par le query. C'est pas top mais ça marche aussi

    J'ai testé la solution du ListBox et ça marche aussi. Merci Philippe! Les événements click/doubleclick sur tel ou tel colonne, c'est une peu plus compliqué à gérer mais ça va le faire.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/11/2008, 09h50
  2. Sous formulaire et table source
    Par Ptite_Tigresse dans le forum 4D
    Réponses: 2
    Dernier message: 27/06/2008, 11h05
  3. Sous formulaire et table
    Par FCL31 dans le forum IHM
    Réponses: 3
    Dernier message: 05/10/2007, 16h18
  4. 1 Formulaire / 1 sous formulaire / 1 table
    Par PhRey dans le forum IHM
    Réponses: 9
    Dernier message: 10/01/2007, 17h44
  5. Pb d'actualisation entre sous-formulaire et table
    Par Alpha31 dans le forum Access
    Réponses: 4
    Dernier message: 20/06/2006, 10h09

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