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 :
Pour la création du formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)"
Merci beaucoup de votre aide,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
GL
Partager