Tri dans Form

Le
Pascal
Bonsoir,
comment puis-je simuler l'équivalent du bouton tri croissant OU tri
décroissant sur un formulaire

l'idée est de faire disparaitre la barre Mode Formulaire et de créer 2
cmdBouton TriCroissant et Tridécroissant
sur la form on se positionne sur un champs au hasard et on choisi le tri
souhaité

une piste bienvenue

Merci

Pascal
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pascal
Le #6197191
Hello,
dans le code du bouton pour le tri croissant
comment dois-je faire pour récupérer à la place du champ VILLE , le champ
sur lequel le curseur est positionné?
merci d'avance
Private Sub cmdTriCroissant_Click()
[Form_Menu LOGEX].OrderBy = "[ville]"
' [Forms_menu logex].OrderByOn = True
End Sub
Pascal



"Pascal" %
Bonsoir,
comment puis-je simuler l'équivalent du bouton tri croissant OU tri
décroissant sur un formulaire

l'idée est de faire disparaitre la barre Mode Formulaire et de créer 2
cmdBouton TriCroissant et Tridécroissant
sur la form on se positionne sur un champs au hasard et on choisi le tri
souhaité

une piste bienvenue

Merci

Pascal




Eric
Le #6197171
Bonjour,

Si ton formulaire est tabulaire, tu peux créer une procédure du genre:

Sub pOrdre(UnControle As Control, bType As Boolean)
Dim c As Control, strChaine As String
Set c = UnControle
strChaine = "[" & UnControle.Name & "]" & " " _
& IIf(bType, "ASC", "DESC")
Me.OrderBy = strChaine
Me.OrderByOn = True
c.SetFocus
Set c = Nothing
End Sub

et sur chacun des 2 boutons :
Private Sub cmdTriCroissant_Click()
Call pOrdre(Screen.PreviousControl, -1)
End Sub

Private Sub cmdTriDecroissant_Click()
Call pOrdre(Screen.PreviousControl, 0)
End Sub

Hello,
dans le code du bouton pour le tri croissant
comment dois-je faire pour récupérer à la place du champ VILLE , le
champ sur lequel le curseur est positionné?
merci d'avance
Private Sub cmdTriCroissant_Click()
[Form_Menu LOGEX].OrderBy = "[ville]"
' [Forms_menu logex].OrderByOn = True
End Sub
Pascal



"Pascal" %
Bonsoir,
comment puis-je simuler l'équivalent du bouton tri croissant OU tri
décroissant sur un formulaire

l'idée est de faire disparaitre la barre Mode Formulaire et de créer 2
cmdBouton TriCroissant et Tridécroissant
sur la form on se positionne sur un champs au hasard et on choisi le
tri souhaité

une piste bienvenue

Merci

Pascal






--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Eric
Le #6197161
.../...
Corrriges la ligne
strChaine = "[" & UnControle.Name & "]" & " " _
& IIf(bType, "ASC", "DESC")
par :
strChaine = "[" & UnControle.Name & "] " _
& IIf(bType, "ASC", "DESC")

ça élimine une concaténation inutile.

...
Sub pOrdre(UnControle As Control, bType As Boolean)
Dim c As Control, strChaine As String
Set c = UnControle
strChaine = "[" & UnControle.Name & "]" & " " _
& IIf(bType, "ASC", "DESC")
Me.OrderBy = strChaine
Me.OrderByOn = True
c.SetFocus
Set c = Nothing
End Sub



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Pascal
Le #6197111
merci Eric,
je m'empresse d'essayer cela
un grand merci
Pascal

"Eric" %
.../...
Corrriges la ligne
strChaine = "[" & UnControle.Name & "]" & " " _
& IIf(bType, "ASC", "DESC")
par :
strChaine = "[" & UnControle.Name & "] " _
& IIf(bType, "ASC", "DESC")

ça élimine une concaténation inutile.

...
Sub pOrdre(UnControle As Control, bType As Boolean)
Dim c As Control, strChaine As String
Set c = UnControle
strChaine = "[" & UnControle.Name & "]" & " " _
& IIf(bType, "ASC", "DESC")
Me.OrderBy = strChaine
Me.OrderByOn = True
c.SetFocus
Set c = Nothing
End Sub



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Willi2004
Le #6196701
Salut Eric!
Je suis de très près la réponse à cette question.
Lorsqu'on clique sur l'un des boutons de tri, il ya une erreur d'exécution
qui survient, libellée comme suit:

Erreur de compilation:
Utilisation incorrecte du mot clé Me

Et cela s'adresse au "Me" contenu dans
Me.OrderBy = strChaine contenu dans la procédure.
Eric
Le #6196671
Bonjour Willi2004,

Je n'ai pas ce problème.
Je te joins un exemple (Access2K car je n'ai pas mieux):
http://cjoint.com/?dcrsGUFTeY

Dis-moi si ça marche chez toi.
J'ai fait une petite modification dans le cas où le focus n'est pas dans
un champ. Mais, si l'on prend soin de cliquer dans le champ à trier
avant de lancer le tri croissant ou décroissant, le problème que tu
soulèves n'apparaissait pas.

Salut Eric!
Je suis de très près la réponse à cette question.
Lorsqu'on clique sur l'un des boutons de tri, il ya une erreur d'exécution
qui survient, libellée comme suit:

Erreur de compilation:
Utilisation incorrecte du mot clé Me

Et cela s'adresse au "Me" contenu dans
Me.OrderBy = strChaine contenu dans la procédure.




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Willi2004
Le #6196611
Aïe!!
J'avais collé la procédure au mauvais endroit.
On ne peut pas demander mieux, ça fonctionne impécablement bien.
Lorsque j'ai vu la question, je me suis dit: "cette fois c'est une colle".
Mais loin de là. Il s'est trouvé un génie pour me faire ravaler mes mots en
un éclair.
Ce forum est vraiment génial, grâce aux contributeurs aussi talentueux les
que les autres qui l'animent. Je me forme réellement bien ici et je dis
merci à tous.
Bravo Eric, tu es un as.
Publicité
Poster une réponse
Anonyme