Access VB - Commande pour trier
Résolu
orderby
-
Immalie -
Immalie -
Bonjour,
Dans un formulaire, je voudrais placer un bouton activant un tri (sur plusieurs champs).
Qui peut me donner les instructions à écrire ??
d'avance merci
Dans un formulaire, je voudrais placer un bouton activant un tri (sur plusieurs champs).
Qui peut me donner les instructions à écrire ??
d'avance merci
Configuration: Windows Vista Firefox 3.0.10
2 réponses
-
Bonjour Orderby,
Voici une solution. Il en est de plus élégantes, mais ça fonctionne....
- Au préalable, il convient de créer une requête satisfaisant le résultat escompté. Elle sera lancée à chaque fois que le bouton sera actionné :
Sur clic
Dim DocName As String
DocName = "<Nom_du_formulaire>"
DoCmd.OpenForm DocName, acNormal, "<Nom_de_la_requete>"
end sub
Cordialement
-
Oui, j'ai bien pensé à cette solution mais je vais vous expliquer la situation complètement.
L'utilisateur ouvre un formulaire dans lequel j'ai inclus une sélection et un tri (cdes SQL en 3ième paramètre de DoCmd.OpenForm). Ce tri étant fait sur un champ masqué.
L'utilisateur a ensuite la possibilité de continuer la sélection et de modifier ce tri en utilisant les boutons de tri A-Z et Z-A.
Ce que me demande l'utilisateur est de revenir au tri du début sans changer les conditions de sélection.
La solution que j'ai trouvé pour le moment est d'afficher le champ avec texte et fond de la même couleur et d'une petite largeur.
L'utilisateur doit donc positionner le curseur sur ce champ puis activer le bouton de tri standard.
Je voudrais que sur le clic de ce champ je puisse programmer la même fonctionnalité que ce bouton standard.
Un peu long comme explication, mais j'espère que vous avez compris
Cordialement- Salut,
le troisième paramètre de openform est le nom d'un filtre/requête, pas un ordre de tri.
Mais on peut créer un bouton avec un peu de code qui indique l'ordre de tri à appliquer sur un formulaire avec le code suivant :
Forms("nom_form").OrderByOn = True
Forms("nom_form").OrderBy = "champ1 champ2... ASC"
Forms("nom_form").Recalc
Ou alors réappliquer le filtre d'origine avec Forms("nom_form").FilterBy = "nom_du_filtre", qui devrait être le fameux troisième paramètre de l'ouverture
-
-
-
Orderby,
Désolé, je ne sais pas faire.
Mais peut-être qu'un filtre serait approprié ?
Ci-après un copié/collé d'un exemple de filtre prélevé sur : Développez.com
Je vous laisse expérimenter, mais je ne maîtrise pas ...
Me.Filter = "DateLimite = Date() or Datelimite >Date() and Statut = 'En cours' or Statut = 'Partiel' or Datelimite <date() and Statut ='Gestion'"
Me.FilterOn = True 'Applique le filtre
Cordialement