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 :

Problème lors de la création de contrôles dynamiques


Sujet :

VBA Access

  1. #1
    Membre du Club
    Homme Profil pro
    Dessinateur industriel
    Inscrit en
    Décembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dessinateur industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 61
    Points : 46
    Points
    46
    Par défaut Problème lors de la création de contrôles dynamiques
    Bonjour,

    Je tente de créer dynamiquement des contrôles (combobox et ensuite des labels) dans un formulaire.

    J'ai essayé diverses méthodes (grâce à la faq et des posts sur Developpez.com) autre que celle que j'utilisais avec excel (avec des modules de classe), mais pour le moment ce n'est pas concluant.

    J'obtient systématiquement l'erreur d'execution 29054:
    Outils CAD ne peut pas ajouter, renommer ou supprimer le ou les contrôles sélectionnés.

    J'ai trouvé un post sur ce forum (voir ici) ayant la même erreur que moi. Mais la solution apportée ne fonctionne pas dans mon cas
    J'avoue ne plus avoir d'idées.

    Voici le code que j'ai:

    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
    32
    33
    34
    35
    36
    37
    Sub CreateAttrib()
     
    Dim i As Integer, ligne As Integer, colonne As Integer
    Dim frmName As String
    Dim t As DAO.Recordset
    Dim Cbbx As ComboBox
     
    i = 0
    'Résultat de la requête permettant de trouver le nombre d'attributs:
    j = DCount("IDFamille", "AttributsFamille", "IDfamille =" + CodeFamille)
     
    Do While i <> j
        Dim ReqValue As String
        Dim IdAttrib As String
        Set t = CurrentDb.OpenRecordset("SELECT AttributsFamille.IDAttribut FROM AttributsFamille WHERE AttributsFamille.IDFamille= " & CodeFamille)
     
        IdAttrib = t!IDAttribut
        ReqValue = "SELECT ValeurAttributPossible.Valeur FROM ValeurAttributPossible WHERE ValeurAttributPossible.IDAttribut =" + IdAttrib
        frmName = "GPE"
     
        DoCmd.OpenForm frmName, acDesign
     
        Set Cbbx = Access.CreateControl(frmName, acComboBox, acDetail)
        With Cbbx
            .Name = t!IDAttribut
            .Height = 0.556
            .Left = 14
            .Top = 1.698 + (1 * i)
            .Width = 4
            .RowSource = ReqValue
        End With
        t.Close
        DoCmd.Close acForm, frmName, acSaveYes
        DoCmd.OpenForm frmName, acNormal
    Loop
     
    End Sub
    Merci d'avance pour votre aide.
    Mickaël

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur Pilotage
    Inscrit en
    Avril 2009
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur Pilotage
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 405
    Points : 1 063
    Points
    1 063
    Par défaut
    Bonjour,

    je ne répond pas vraiment à la question mais il y a de petites erreurs dans le code :

    1 - La variable j n'est pas déclarée ( ce serait bien d'ajouter Option Explicit au début du module )

    2 - il faudrait pas rajouter i = i + 1 dans ta boucle ? ( ou bien c'est volontaire ?)

    3 - Pourriez vous tester si la procédure marche en remplaçant
    par
    Bien cdt
    I always thought that the person who specialized in using just SAS PROCS should
    be known as the SAS Proctologist.

  3. #3
    Membre du Club
    Homme Profil pro
    Dessinateur industriel
    Inscrit en
    Décembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dessinateur industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 61
    Points : 46
    Points
    46
    Par défaut
    Bonjour,

    Merci d'avoir pris le temps de lire et te pencher sur mon problème Lelensois16.
    Effectivement, les points 1 et 2 que tu as relévés sont bien des erreurs. A force de faire des tests, j'ai été négligeant.

    Concernant le test sur le 3ème point, malheureusement ça ne vient pas de ça.

    En revanche, j'ai passé mon aprés-midi à faire des recherches sur le sujet, et j'ai peut être un élément de réponse d'après la FAQ.
    Peut être que je n'ai pas bien cerné la méthode, mais je l'ai testée en créant un sous formulaire(ssfrmGPE) dans mon formulaire (GPE) et le résultat est fatalement identique.

    Voici le code utilisé:

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Sub test()
    Dim i As Integer, ligne As Integer, colonne As Integer, j As Integer
    Dim frmName As String
    Dim t As DAO.Recordset
    Dim ctl As Control
    Dim Cbbx As ComboBox
     
    frmName = "GPE"
    ' --suppression de tous les contrôles avant de les créer de nouveau
    'For Each ctl In Form_GPE.ssfrmGPE.Controls
    '        DeleteControl "Form_GPE.ssfrmGPE", ctl.Name
    'Next ctl
     
    i = 0
     
    'Résultat de la requête permettant de trouver le nombre d'attributs:
    j = DCount("IDFamille", "AttributsFamille", "IDfamille =" + CodeFamille)
     
    'on ferme le sous-formulaire
    Form_GPE.ssfrmGPE.SourceObject = ""
    'on le rouvre en mode création et caché
    DoCmd.OpenForm frmName, acDesign, , , , acHidden
     
    Do While i <> j
        Dim ReqValue As String
        Dim IdAttrib As String
        Set t = CurrentDb.OpenRecordset("SELECT AttributsFamille.IDAttribut FROM AttributsFamille WHERE AttributsFamille.IDFamille= " & CodeFamille)
     
        IdAttrib = t!IDAttribut
        ReqValue = "SELECT ValeurAttributPossible.Valeur FROM ValeurAttributPossible WHERE ValeurAttributPossible.IDAttribut =" + IdAttrib
     
    '    DoCmd.OpenForm frmName, acDesign
     
        Set Cbbx = Access.CreateControl(frmName, acComboBox, acDetail)
        With Cbbx
            .Name = "essai" & i
    '        .Height = 0.556
    '        .Left = 14
    '        .Top = 1.698 + (1 * i)
    '        .Width = 4
            .RowSource = ReqValue
        End With
        t.Close
    '    DoCmd.Close acForm, frmName, acSaveYes
    '    DoCmd.OpenForm frmName, acNormal
    'on ferme le formulaire
        DoCmd.Close acForm, "GPE"
    'on rouvre le sous-formulaire dans le formulaire principal
        Form_GPE.ssfrmGPE.SourceObject = "GPE" 'on rouvre le sous-formulaire dans le formulaire principal
    'on libère la mémoire
        Set Cbbx = Nothing
        i = i + 1
    Loop
     
    end sub
    J'avoue avoir du mal avec les notions de formulaire et sous-formulaire avec cet exemple (cf lignes 21/22). Car tel que je le comprends, si je dois ouvrir à nouveau le sous formulaire, ce devrait être Form_GPE.ssfrmGPE et non pas frmname.

    Je commence à perdre espoir de réussir à faire fonctionner cette partie aujourd'hui et ne pas être en mesure de présenter une fonctionalité importante à mon patron demain.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur Pilotage
    Inscrit en
    Avril 2009
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur Pilotage
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 405
    Points : 1 063
    Points
    1 063
    Par défaut
    Re,

    Peux tu essayer avec cette ligne de code à la place ,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set Cbbx = CreateControl(frmName, acComboBox)
    I always thought that the person who specialized in using just SAS PROCS should
    be known as the SAS Proctologist.

  5. #5
    Membre du Club
    Homme Profil pro
    Dessinateur industriel
    Inscrit en
    Décembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dessinateur industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 61
    Points : 46
    Points
    46
    Par défaut
    Je l'ai testé dans la version du code de mon premier post, mais aussi avec mon second post (avec l'histoire du sous-formulaire). Les résultats sont identiques.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Ingénieur Pilotage
    Inscrit en
    Avril 2009
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur Pilotage
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 405
    Points : 1 063
    Points
    1 063
    Par défaut
    Bjr,

    Je peux jeter un coup d'oeil à la base Svp ? ( en pièce jointe )

    Cdt
    I always thought that the person who specialized in using just SAS PROCS should
    be known as the SAS Proctologist.

  7. #7
    Membre du Club
    Homme Profil pro
    Dessinateur industriel
    Inscrit en
    Décembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dessinateur industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 61
    Points : 46
    Points
    46
    Par défaut
    La taille de la base étant un peu trop volumineuse pour l'attacher avec l'utilitaire de Developpez.com, j'ai pris la liberté de la mettre sur Megaupload: voir ici

    Est-ce que ça te dérange?

    Cordialement,

  8. #8
    Membre éprouvé
    Homme Profil pro
    Ingénieur Pilotage
    Inscrit en
    Avril 2009
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur Pilotage
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 405
    Points : 1 063
    Points
    1 063
    Par défaut
    Re,
    No problem , je jette un coup d'oeil à la base.
    I always thought that the person who specialized in using just SAS PROCS should
    be known as the SAS Proctologist.

  9. #9
    Membre du Club
    Homme Profil pro
    Dessinateur industriel
    Inscrit en
    Décembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dessinateur industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 61
    Points : 46
    Points
    46
    Par défaut
    Merci beaucoup. J'espère que tu vas réussir à y trouver ce qui cloche.

  10. #10
    Membre éprouvé
    Homme Profil pro
    Ingénieur Pilotage
    Inscrit en
    Avril 2009
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur Pilotage
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 405
    Points : 1 063
    Points
    1 063
    Par défaut
    Re,

    voici la base

    Apparament , la procédure fonctionne chez moi ...
    J'ai juste mis de coté les boucles , implémenté les requêtes en dur ( en mettant de coté les variables ... )

    Si le problème persiste , il vient surement de ta requête de départ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Set t = CurrentDb.OpenRecordset("SELECT AttributsFamille.IDAttribut FROM AttributsFamille WHERE AttributsFamille.IDFamille= " & CodeFamille
    en particulier le CodeFamille ...

    ou

    encore c'est un problème lié à ton PC ? essaies sur un autre PC ??

    Sinon je ne vois pas quoi ... =(

    Cdt
    I always thought that the person who specialized in using just SAS PROCS should
    be known as the SAS Proctologist.

  11. #11
    Membre du Club
    Homme Profil pro
    Dessinateur industriel
    Inscrit en
    Décembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dessinateur industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 61
    Points : 46
    Points
    46
    Par défaut
    Re,

    Je n'ai pas d'autre pc sous la main. Donc je vais tester demain au boulo.
    Je vais également tester après mangé en fonction de ce que tu me décrit pour les requêtes pour voir si ca ne serait pas en cause.

    Je te tiens au courant.

    En attendant, je te dis un grand merci pour le temps que tu y as consacré !!

  12. #12
    Membre du Club
    Homme Profil pro
    Dessinateur industriel
    Inscrit en
    Décembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dessinateur industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 61
    Points : 46
    Points
    46
    Par défaut
    Re,

    Je viens de faire toute une série de tests.

    Déjà en reprennant la base telle que tu me l'as renvoyée, puis en enlevant au fur et à mesure l'ensemble ddu contenu de ma procédure pour ne laisser plus que la création des contrôles. Mais j'obtiens toujours la même erreur.

    Pourrais-tu me dire quels compléments / références tu as? Sait-on jamais..

    Pour info, lorsque je bosse chez moi je suis sous Access 2010. Mais la base reste en 2007 car nous n'avons pas encore Office 2010 au boulo.

    Edit: est-ce que ça fonctionnait pour toi sans toucher aux variables et la boucle au fait?

  13. #13
    Membre éprouvé
    Homme Profil pro
    Ingénieur Pilotage
    Inscrit en
    Avril 2009
    Messages
    405
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur Pilotage
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 405
    Points : 1 063
    Points
    1 063
    Par défaut
    Bonjour,

    La procédure marchait parfaitement sans toucher aux variables et à la boucle ... J'ai déclenché la procédure avec la touche F5 donc des fois je me demande si le problème ne vient pas de la manière dont la procédure est déclenchée ?

    Est ce que tu peux créer un controle dans un formulaire vide ? ( un controle tout simple ) ?

    Voici mes références :

    Visual Basic For Applications
    OLE Automation
    Microsoft Office 12 object Library
    Microsoft Access 12 object Library
    Microsoft Excel 12 object Library
    Microsoft Word 12 object Library
    Microsoft windows Commons Controls 6.0
    Microsoft Graph 12 object Library
    Microsoft DAO object Library
    Busobj object Library
    Lotus Notes Object Library

    ( Certains ne sont pas utiles dans ce projet , j'utilise tout le temps Automation )

    Cdt
    I always thought that the person who specialized in using just SAS PROCS should
    be known as the SAS Proctologist.

  14. #14
    Membre du Club
    Homme Profil pro
    Dessinateur industriel
    Inscrit en
    Décembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dessinateur industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 61
    Points : 46
    Points
    46
    Par défaut
    Bonjour,

    Je n'ai pas essayé de lancer la procédure sans passer par le formulaire, mais d'après ce que j'ai pu lire, il semble normal que ça passe de cette manière.

    Car il semblerait que ce soit justement le fait que je veuille créer les contrôles sur un formulaire sans être en mode création qui pose problème, mais aussi parceque le formulaire à "modifier" est justement ouvert.

    Je pense donc qu'il faille que je regarde avec le post de FAQ qui explique comment créer un rectangle en passant ouvrant / fermant un sous-formulaire.
    Seulement je n'ai pas encore réussi à m'en sortir avec ça.

    Je vérifierai les composants en rentrant à la maison ce soir.
    Je me dépèche de préparer la réunion avec mon chef.

    Je suis super heureux, j'ai travaillé jusqu'à 2heures cette nuit, puis je me suis envoyé le fichier par email. Seulement, il n'est pas arrivé à destination..... Il y a des jours ou tout va pour le mieux.

    Edit: il est finalement arrivé avec du retard. J'ai testé de lancer la fonction sans passer par un formulaire, et ça fonctionne. Ce qui conforte la piste que je cite plus haut.

    J'essaierai de créer un contrôle dans un formulaire vierge pour tester. Mais d'après ce que j'ai pu lire sur ce forum, ça semble fonctionner dans ce cas. D'ou l'intérêt probablement de placer les contrôles à créer dans un sous-formulaire, à savoir de fermer ce dernier le temps de créer les contrôles puis de l'ouvrir une fois la procédure terminée. Si tu as une idée à ce niveau je suis preneur, car je n'ai pas encore réussi à m'en sortir de cette manière.

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

    Citation Envoyé par Vhalar Voir le message
    Car il semblerait que ce soit justement le fait que je veuille créer les contrôles sur un formulaire sans être en mode création qui pose problème, mais aussi parceque le formulaire à "modifier" est justement ouvert.
    Oh oui.

    Pour faire de la création dynamique de contrôle il faut :

    • Que le code soit dans un module et non dans le module du formulaire.
    • Que le code ouvre le formulaire en mode création, crée le contrôle, enregistre et ferme le formulaire.



    Philippe

  16. #16
    Membre du Club
    Homme Profil pro
    Dessinateur industriel
    Inscrit en
    Décembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dessinateur industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 61
    Points : 46
    Points
    46
    Par défaut
    Bonsoir Philippe,

    Le code est bien placé dans un module totalement indépendant du formulaire.
    En revanche, il ne s'agit pas d'un module de classe. Je préfère éclaircir ce point, car lorsque j'avais réalisé plus ou moins la même chose avec Excel, j'étais obligé de passer par un module de classe.

    Par contre, lorsque tu dis que le code doit ouvrir le formulaire en mode création. Dois-je comprendre que si le formulaire qu'on souhaite modifier est déjà ouvert, cela ne suffit pas de simplement passer en mode création?

    Afin de contourner cette limitation d'Access sans pour autant que cela gène l'utilisateur final, à savoir des formulaires qui s'ouvrent et se ferment générant une sorte de "scintillement" désagréable. Je penserais donc créer un sous formulaire qui serait caché par défaut. Que le code fermerait, puis ouvrirait en mode création. Les objets seraient créés, le sous formulaire enregistré puis fermé, puis rendu visible et enfin ré-ouvert.

    Cela vous semble-t-il correct?
    Si oui, cela signifie qu'on peut donc fermer un objet "sous formulaire" placé dans un formulaire?

    En tous cas, merci pour ces précisions.

  17. #17
    Invité
    Invité(e)
    Par défaut
    Re

    Ce qui me choque, c'est le fait de vouloir créer dynamiquement des contrôles en cours de fonctionnement de ton application.

    La création dynamique de contrôle est a utiliser dans des cas particuliers (création de compléments, etc...), et est rarement utiliser en mode fonctionnement normal (du moins je n'en vois pas l'utilité).

    Peux-tu expliquer pourquoi tu veux faire cela ?

    Sinon, oui, il faut tout fermer, mais tu peux travailler avec le formulaire invisible, de plus je n'ai jamais testé avec des sous-formulaires.

    Philippe

  18. #18
    Membre du Club
    Homme Profil pro
    Dessinateur industriel
    Inscrit en
    Décembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dessinateur industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 61
    Points : 46
    Points
    46
    Par défaut
    Bonjour,

    Effectivement une explication s'impose. Mon projet consiste à créer pour le bureau d'études ou je travaille, un outil nous permettant de remplacer de vieux classeurs qui nous servent à prendre des numéros de pièces en fonction de leur famille.

    A l'heure actuelle, il est très fastidieux de rechercher des pièces, etc. L'outil que j'ai imaginé, va nous permettre, en fonction de notre code article et de contraintes avec lesquelles je dois faire, de classifier nos pièces en les assignant à une famille, d'effectuer des recherches, etc. Celle-ci peut se décomposer en 3 niveaux:

    Le 1er niveau est appelé "Famille". Le second "Catégorie" et le dernier "Sous-catégorie". Le système est donc basé sur cette hiérarchie. Cependant il est important de noter que les niveaux 2 et 3 peuvent être facultatifs.

    Prenons l'exemple d'une vis.

    Admettons que nous ayons une famille (1er niveau) "Quincallerie"
    Cela incluerait tellement de pièces différentes que nous aurons forcément plusieurs catégories (2ème niveau). Ici on les nommera "Vis", "Ecrous", etc.
    De même nous pourrions également classer ses vis dans des sous-catégories en fonction du type de vis (ce n'est peut être pas pertinant comme exemple mais c'est pour le principe): CHC, Hexagonale, etc

    Nous aurions pu faire différemment et créer la famille "Vis". Et avoir comme catégories: CHC, Hexagonale, etc

    J'appelerai ici l'ensemble des niveaux définissant une pièce une entité. Maintenant, et c'est la qui va expliquer l'intérêt (selon moi) de la création dynamique, c'est que chaque entités choisie aura des attributs qui lui sont propres. Or, nous avons un grand nombre de pièces différentes. L'ancien système étant trop limité, nous allons devoir redéfinir chaque entités petit à petit. Car il nous est impossible de faire tout ce travail à l'avance. De ce fait, je considère le nombre d'attributs comme étant une inconnue.

    J'ai bien pensé définir un nombre maxi d'attributs de manière arbitraire, mais cela posera une limite qui pourrait nous gèner dans le futur. On voit bien à l'heure actuelle les contraintes que nous imposent ce changement, donc Je suis parti dans l'idée de ne pas trop brider le système afin de ne pas devoir tout refaire dans quelques années.

    Donc d'un point de vue IHM, le formulaire comporte à la base 3 combobox (dont 2 masquées par défaut) qui correspondent aux 3 niveaux de hiérarchie. Une fois une entité sélectionnée complètement, j'appelle la procédure qui ira compter le nombre d'attributs en conséquence pour créer mes filtres (attributs).

    Une dernière petite note à ajouter. Je possède une interface qui me sert à créer et gérer les entités. Notamment, il sera possible pour des administrateurs, si besoin après une réunion de service, d'ajouter un ou des attributs à une entité déjà existante.

    Ton point de vue me sera intéressant. Car forcément, comme j'ai imaginé ce système de toute pièce, il se peut que je ne sois peut être plus très objectif. Pour le moment, je suis convaincu d'avoir fait le bon choix, mais si on me propose une solution qui répond à ma problématique sans rajouter de contraintes, je ne suis pas contre le fait de remettre en cause cette partie.

    Mickaël

  19. #19
    Membre du Club
    Homme Profil pro
    Dessinateur industriel
    Inscrit en
    Décembre 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dessinateur industriel
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 61
    Points : 46
    Points
    46
    Par défaut
    Bonjour,

    J'ai eu l'occasion d'effectuer quelques tests supplémentaires hier soir.
    Mon code fonctionne correctement à partir du moment je créé le contrôles sur un autre formulaire que celui qui est affiché. En revanche, le la création à l'air de ne pas être très rapide.

    J'en reviens donc à ma question de base, puisque je sais que certain y parviennent, comment puis-je faire pour contourner le problème? (sachant que je ferme le formulaire à modifier, puis passe en mode création, fais mes mofifs, ferme et sauvegarde le formulaire, repasse en mode standard, et réaffiche le formulaire et ça ne fonctionne pas).

    J'essaie vraiment de pousser pour utiliser cette fonction (tant que les résultats sont satisfaisant) mais si vraiment cela m'est impossible, je me dirrigerai avec regrêts vers une solution ou je créerai d'avance un nombre x de cbox qui seront masquées si elles ne sont pas utilsées.

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

    Une autre piste à explorer :

    Un sous-formulaire, mais pas en mode feuille de données, en mode continu.

    En effet, en disposant correctement tes contrôles et en jouant sur les traits (il y a un contrôle pour cela), tu peux avec un peu de travail avoir un formulaire comme tu le souhaites.


    Philippe

Discussions similaires

  1. [XL-2010] Problème lors de la création de tableau croisé dynamique avec vba
    Par juju05 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/07/2012, 17h10
  2. Réponses: 11
    Dernier message: 05/08/2009, 12h30
  3. Réponses: 3
    Dernier message: 26/02/2006, 23h53
  4. Réponses: 2
    Dernier message: 21/11/2005, 09h29
  5. Clé étrangère problème lors de la création de la table.
    Par snoopy69 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 18/08/2005, 08h15

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