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 17/02/2011, 17h15   #1
Membre du Club
 
Inscription : août 2008
Messages : 86
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 86
Points : 43
Points : 43
Par défaut Click sur Label / Click sur commandbutton

Bonjour,

Je crée un formulaire dynamique, et j'aimerais qu'en cliquant sur un control de type 'acLabel', un autre formulaire s'ouvre. J'ai donc écrit une fonction pour créer ce second formulaire. Jusque là, aucun problème. Or quand je clique sur ce label, le formulaire se crée mais ne s'ouvre pas (il reste en petit dans un coin de l'écran), tandis que si j'affecte cette même fonction à la propriété 'onclick' d'un commandbutton, la page s'ouvre tout à fait normalement ! (alors que le code de la fonction est rigoureusement le même).

Pourquoi access réagit-il comme ca? Comment le forcer à m'afficher ce second formulaire comme je le souhaite?

J'écris ci-dessous des bouts de code que j'utilise:

Pour les labels sur lesquels l'utilisateur clique :
Code :
1
2
3
4
5
Set ctr_BB(compteur) = CreateControl(frm.Name, acLabel, , "", "", gauche * 10 + (i - 1) * (largeur + decal_gauche), decal_haut * j + (hauteur) * (j - 1), largeur, hauteur)
ctr_BB(compteur).BackStyle = 1
ctr_BB(compteur).TextAlign = 2
ctr_BB(compteur).Name = "BB_" & j & "_" & mois & "_" & annee
ctr_BB(compteur).OnClick = "=Formulaire_detail(" & mois & "," & annee & ", 1)"
Pour la création du formulaire :

Code :
1
2
3
4
5
6
7
8
9
10
11
Public Function Formulaire_detail(mois As Long, annee As Long, choix As Long)
 
Dim frm As Form
 
Set frm = CreateForm()
frm.Section(0).BackColor = RGB(220, 220, 220)
 
DoCmd.OpenForm frm.Name, acNormal
DoCmd.MoveSize 0, 5000, 8000, 5000
 
End Function
Merci beaucoup de votre aide,

GL
Glherbier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2011, 10h56   #2
Membre Expert
 
Avatar de keita
 
Homme
Inscription : novembre 2002
Messages : 879
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations forums :
Inscription : novembre 2002
Messages : 879
Points : 1 015
Points : 1 015
Envoyer un message via MSN à keita
bonjour
Ajoute ceci pour voir DoCmd.Restore
Code :
1
2
3
4
5
6
7
8
9
10
11
Public Function Formulaire_detail(mois As Long, annee As Long, choix As Long)
 
Dim frm As Form
 
Set frm = CreateForm()
frm.Section(0).BackColor = RGB(220, 220, 220)
 
DoCmd.OpenForm frm.Name, acNormal
DoCmd.MoveSize 0, 5000, 8000, 5000
DoCmd.Restore
End Function
@+
keita est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2011, 11h10   #3
Membre du Club
 
Inscription : août 2008
Messages : 86
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 86
Points : 43
Points : 43
Merci, c'est parfaitement ce qu'il me fallait.



Bonne journée
Glherbier est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h22.


 
 
 
 
Partenaires

Hébergement Web