Forum - Questions générale - Sujet n°510

[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Questions générale - Questions générale


clos par 3Stone le 03/06/2011 : 04:12  Sujet n° 510  boutons gérant feuille de données

le 18/05/2011 : 00:01
par Nicolas

Anonyme

visiteur

bonsoir 3Stone,

me viens une idée qui pourrait remplacer la création d'un menu contextuel et qui serait de créer des boutons de commande permettant le même résultat.

1)- quel code saisir qui permettrait de supprimer tous les filtres sélectionnés dans ma feuille de données?

2)- quel code saisir qui permettrait de réorganiser mes lignes dans l'ordre croissant ou décroissant de la colonne sélectionnée ou colonne dans laquelle se trouve la cellule sélectionnée.

3)- si je veux appliquer un filtre sur plusieurs valeurs cela se traduit ainsi:.filter = "User='René'; 'Nicolas'; etc..."??

4)- dans une feuille de données, est-il possible d'empêcher le déplacement d'une ou plusieurs colonnes?

Nota: je viens de découvrir la possibilité d'utiliser mes données en mode Feuille de données d'où toutes ces questions?

bien cordialement
 sujet clos  Haut
Réponse n° 1
--------
le 18/05/2011 : 03:11
par 3Stone

Anonyme

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)
  clos par 3Stone le 03/06/2011 : 04:12  Haut
Réponse n° 2
--------
le 18/05/2011 : 19:40
par nicolas

Anonyme

visiteur
merci beaucoup de ton aide 3Stonebien cordialement
Ecrire à nicolas   clos par 3Stone le 03/06/2011 : 04:12  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut