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 :

Création dynamique de contrôles sous Access 2003


Sujet :

IHM

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Création dynamique de contrôles sous Access 2003
    Bonjour, je cherche à générer une simple textbox a l'ouverture d'un formulaire
    de facon dynamique. Aussi, quoi que je fasse, il y a toujours un probleme.
    Par exemple, pour les lignes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim tb As New TextBox
    Me.Controls(3).CreateControl (tb)
    l'aplication retourne l'erreur suivante :

    Erreur d'execution 429. Un composant activex ne peut pas créer d'objet

    A chaque fois que j'essai autre chose, une erreur survient. Je dois trouver
    rapidement une solution et aucun tuto ou autre n'a pu me secourir.
    J'espère donc trouver ici solution a mon probleme.

    Pour d'avance

    Guillaume

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonjour,

    à ma connaissance c'est plutôt comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim tbCtl As TextBox
    Set tbCtl = Application.CreateControl("NomFormulaire", acTextBox, acDetail)
    avec le formulaire ouvert en mode 'Design'

    D'autres discussions similaires ici

    Bon courage

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci beaucoup pour ton aide. Je commence enfin a avancer.
    Aussi, je tombe sur un autre probleme qui pour toi sera tres simple :

    Tu m'as indiqué d'ouvrir en mode design le formulaire et je ne comprend
    pas cela. J'ai appliqué le code que tu m'as fournis et lors du lancement
    de l'application, le message d'erreur suivant s'affiche :

    Erreur d'execution 2147 : Les controles ne peuvent etre crees ou
    supprimes qu'en mode creation.

    Est ce une configuration d'access a faire de ma part ? Je n'ouvre
    pas le formulaire de la bonne facon (double click dessus) ? ou autre ?

    Merci encore pour l'aide que je recois

    Guillaume

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    en effet, c'est impossible de créer un contrôle si tu n'es pas en mode conception.

  5. #5
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Tu ouvres le formulaire avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.OpenForm "NomFormulaire", acDesign
    Tu exécutes le code qui crée le ou les contrôle(s)
    La tu choisi de sauvegarder ou pas.
    Tu ouvres le formulaire en mode normal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    docmd.OpenForm "NomFormulaire",acNormal
    Si tu n'as pas sauvé, Access demandera si il faut sauvegarder les changements à la fermeture.

    A+

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci beaucoup pour votre aide. Avec ca je vais reussir a finir.

    Une toute derniere question serait sur le moment ou je dois ouvrir
    le formulaire a modifier : puis je le faire pendant le chargement du
    formulaire a modifier ou dois je le faire au travers d'un autre formulaire.

    Je ne sais pas si sous access un formulaire peut se modifier lui meme.

    Merci pour votre aide

    Guillaume

  7. #7
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Un formulaire ne peut pas s'ouvrir en mode création par lui même, il faut que ce soit quelque chose d'autre qui l'ouvre

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Oui voila je m'en suis doute mais le fait est que je ne recois toujours
    l'erreur suivante :

    Erreur d'exécution 29054 : Ms Office ne peut pas ajouter, modifier ou
    supprimer le controle selectionne.

    J'utilise le code suivant depuis un formulaire vers un autre lors d'un
    clique sur un bouton :


    Private Sub Commande1_Click()

    DoCmd.OpenForm Form_Formulaire1.Name, acDesign
    Dim tbCtl As TextBox
    Set tbCtl = Application.CreateControl(Form_Formulaire1.Name, acTextBox, acDetail)
    DoCmd.Close acForm, Form_Formulaire1.Name, acSaveYes
    DoCmd.OpenForm Form_Formulaire1.Name, acNormal

    End Sub


    Décidément je ne vais pas m'en sortir.

    Encore merci pour votre aide

    Guillaume

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Quelqu'un aurait une idée sur l'origine de ce message d'erreur ?

    Merci encore pour votre aide

    Guillaume

  10. #10
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonsoir,

    Je ne sais pas pourquoi mais ça fonctionne en écrivant ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim frmName As String
    Dim tbCtl As TextBox
     
    frmName = "Formulaire1"
     
    DoCmd.OpenForm frmName, acDesign
    Set tbCtl = Access.CreateControl(frmName, acTextBox, acDetail)
     
    DoCmd.Close acForm, frmName, acSaveYes
    DoCmd.OpenForm frmName, acNormal
    A+

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    En effet, cela fonctionne de la sorte.
    J'avoue que je ne comprend pas mais cela fonctionne aussi
    pour moi de la sorte.

    Je remercie tout ceux qui m'ont aidé et félicite ce site

    Bonne soirée

    Guillaume

  12. #12
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 27
    Points : 21
    Points
    21
    Par défaut Procedure onClick
    Je viens de lire les posts et grace à vous j'ai pu faire ce que je voulais mais je n'arrive pas a créer de procedure onclick sur des boutons généré automatique avec les conseils donnés au dessus.

    Comment puis faire ces procedure en créant mes boutons dynamiquement ?

    D'avance merci

  13. #13
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour...

    @ wadoo

    Avant de poser une question, pense à faire quelques recherches dans la ...........souvent la réponse s'y trouve....

    http://access.developpez.com/faq/?pa...reeDynCtrlCode

    Bonne lecture...

  14. #14
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 27
    Points : 21
    Points
    21
    Par défaut Oups, faut arreter de travailler ca rend bête


    Je viens de relire le post que j'ai mis hier ....
    je ne dis même pas bonjour ... dsl.
    Sinon j'avais fait une recherche google mais pas pensé a la FAQ.
    Ca doit être parce que j'étais au travail (bon ben je vais devoir arreter de travailler .... )
    Encore dsl et merci beaucoup pour ta réponse

Discussions similaires

  1. Chriffrer les données d'une BDD sous Access 2003
    Par megatoune dans le forum Sécurité
    Réponses: 3
    Dernier message: 26/01/2008, 23h25
  2. Creation dynamique de controls : gerer les events ?
    Par clinic dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/08/2007, 10h42
  3. Réponses: 2
    Dernier message: 13/04/2007, 13h37
  4. Réponses: 2
    Dernier message: 29/01/2007, 19h34

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