Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/12/2010, 14h56   #1
Invité de passage
 
Inscription : février 2009
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 3
Points : 0
Points : 0
Par défaut Insérer des contrôles dans un formulaire dynamiquement

Bonjour à tous,

Alors voilà mon problème : j'ai créé un formulaire sur Access et je souhaiterais automatiser l'ajout de plusieurs contrôles du type ComboBox en dynamique sur ce formulaire(avec VBA) suite à un événement command_click.

Voilà le code :

Code :
1
2
3
4
5
private sub Commande44_Click
 
DoCmd.OpenForm Form_ADM_UTILISATEUR, acDesign
Dim cb As Control
Set cb = CreateControl(Form_ADM_UTILISATEUR, acComboBox, acDetail)
Le problème est qu'Access me renvoie toujours la même erreur : Erreur d'exécution '3799' : "Impossible de trouver le champ."

Si je met ce même code dans un module dans une procédure SUB sans événement alors il marche ... j'ai tenté d'appeler cette procédure depuis mon bouton mais rien n'y fait toujours ce même message d'erreur

Quelqu'un aurait il la solution de ce problème ??

Merci d'avance
autkioer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 16h05   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 458
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 458
Points : 7 534
Points : 7 534
À mon avis ton problème vient du fait que tu essayes de faire modifier le formulaire actuellement ouvert par lui-même.

Pourquoi as-tu besoin d'ajouter des contrôles à l'exécution ?

Ne peux-tu pas simplement rendre visibles des contrôles qui existent déjà mais sont invisibles actuellement ? Ce serait plus simple à réaliser.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 16h19   #3
Invité de passage
 
Inscription : février 2009
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 3
Points : 0
Points : 0
C'est plus facile à mettre en oeuvre mais cela suppose que je sache d'avance le nombre de Combobox à insérer dans le formulaire.

Ce formulaire n'est pas pour moi et doit être totalement dynamique à ce niveau là !

A+
autkioer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2010, 16h32   #4
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 458
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 458
Points : 7 534
Points : 7 534
Ok, personnellement je créerai une grand nombre de comboboxs (ex : 50) et je les rendrai visible ou invisible en fonction de mes besoins.

Comme tu ne souhaiites pas faire cela, tu pourrais faire modifier ton formulaire par un autre, cela me semble la seule solution viable. Donc tu mets ton code de modification ailleurs, tu modifie ton formulaire, tu le sauvegarde, et tu l'ouvre. Je ne sais pas si cela colle avec ton interface actuelle mais je ne vois pas d'autre alternative.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h14.


 
 
 
 
Partenaires

Hébergement Web