Réponse n° 1 -------- le 18/05/2011 : 03:11 par 3Stone
Administrateur
|
Bonjour,
J'utilise personnellement assez peu les sous-formulaires en mode feuille de données.
Ceci pour la simple raison que l'on perd la majorité des possibilités dans ce mode, comme par exemple d'y placer un bouton. Il faut donc déporter celui-ci dans le formulaire principal et y faire référence au sous-formulaire.
Par contre, ils sont pratiques pour les affichages rapides et simples comme "informations".
ObSF => nom de object qui contient le sous-formulaire
1) supprimer le filtre
Code :
With Me.ObSF.Form .Filter = "" .FilterOn = False End With
2) trier la colonne ou se trouve le curseur
Code :
Dim Ctrl As Control With Me.sfrm_Diagnostic.Form Set Ctrl = .ActiveControl .OrderBy = Ctrl.Name .OrderByOn = True End With
3) filtre sur plusieurs champs
Code :
.OrderBy = "champ1, champ2, champ3"
4) Empêcher le déplacement de colonnes
Je ne pense pas... mais on peu les réajuster en placant ce code dans l'événement "après mise à jour" du sous-formulaire.
Code :
Dim ctl As Control For Each ctl In frm If ctl.ControlType <> acLabel Then If ctl.ColumnWidth <> 0 Then ctl.ColumnWidth = -2 End If End If Next ctl
Ceci dit, je préfère faire tout cela directement par VBA en utilisant des codes comme ceux-ci:
http://www.3stone.be/access/articles.php?lng=fr&pg=43
http://www.3stone.be/access/articles.php?lng=fr&pg=1726
Cordialement,
Pierre(3stone) |