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
A voir également:
- Me.orderby access vba
- Acer quick access - Forum logiciel systeme
- Access appdata - Guide
- Quick Access service ✓ - Forum PC portable
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
- Excel compter cellule couleur sans vba - Guide
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
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
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
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
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
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
C'était donc bien cette commande "order by" que je devais utiliser et que je n'arrivais pas à écrire correctement.
Ah ces syntaxes que de soucis elle nous donne
Bisous à vous tous