Access VB - Commande pour trier

Résolu
orderby -  
 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
Configuration: Windows Vista
Firefox 3.0.10

2 réponses

  1. Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   112
     
    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
    1
    1. orderby Messages postés 21 Statut Membre 19
       
      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
      0
      1. blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention   3 455 > orderby Messages postés 21 Statut Membre
         
        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
        0
      2. orderby Messages postés 21 Statut Membre 19 > blux Messages postés 2051 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Un grand merci à vous Blux, votre réponse fonctionne super.
        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
        0
    2. Immalie
       
      Merci beaucoup Blux, effectivement c'est une solution idéal !!
      0
  2. Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   112
     
    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
    0
    1. orderby Messages postés 21 Statut Membre 19
       
      Merci pour votre aide.
      Ce n'est pas la solution que je recherche mais votre réponse m'a permis de connaitre le site "developpez.com".
      Cordialement
      0