VBA tri requête en VBA

Le
domivax
Bonjour à tous,

J'ai un formulaire avec une ListBox à 5 colonnes alimentée par une
requête "MaQuery".

La requête ne comporte aucun tri et aucun critère.

Ce que je voudrais, c'est la création sur mon formulaire d'un bouton
"ASC" & un autre "DESC" en regard de chaque colonne de ma LisbBox pour
gérer le tri.

Comment faire pour gérer le tri des données de ma LisbBox alimentée
par MaQuery sans être obligé de réécrire en VBA ma requête pour ch=
aque
bouton.
Il faudra que chaque bouton n'ait que l'instruction ORDER BY

Merci pour votre aide.
A bientôt.
Xavier
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
Fabien
Le #6362791
Bonjour à tous,

J'ai un formulaire avec une ListBox à 5 colonnes alimentée par une
requête "MaQuery".

La requête ne comporte aucun tri et aucun critère.

Ce que je voudrais, c'est la création sur mon formulaire d'un bouton
"ASC" & un autre "DESC" en regard de chaque colonne de ma LisbBox pour
gérer le tri.

Comment faire pour gérer le tri des données de ma LisbBox alimentée
par MaQuery sans être obligé de réécrire en VBA ma requête pour chaque
bouton.
Il faudra que chaque bouton n'ait que l'instruction ORDER BY

Merci pour votre aide.
A bientôt.
Xavier
Bonjour,

Tu peux modifier le contenu de ta requete grace a l'instruction
currentdb.querydefs("MaQuery").sql ="kdsflmksdflk"
Dés lors tu fait un

Dim StrSQl as string
StrSql=currentdb.querydefs("MaQuery").sql 'Tu reccupere l'instruction
en cours
'Tu cherche la position de la commande ORDER BY dans la chaine
'A priori ORDER BY est en fin de chaine
Strsql=Mid(strsql,instr(1,strsql,"ORDER BY")-1) & " ODRER BY
[lechampquim'interesse] " & lesens & ";"
'Tu réaffecte le texte de la requete à la requete qui alimente ta liste
currentdb.querydefs("MaQuery").sql = StrSql
'et tu raffraichis
me.maliste.requery
@+

domivax
Le #6362771
Bonjour,

Merci pour la réponse mais j'ai un message d'erreur.

Run-time error '13':
Type mismatch

Merci pour votre aide.
Xavier
Fabien
Le #6362751
Bonjour,

Merci pour la réponse mais j'ai un message d'erreur.

Run-time error '13':
Type mismatch

Merci pour votre aide.
Xavier
Salut

revoir la syntaxe : il y a quelque part l'utilisation d'un numérique
dans une expression qui attend de l'alpha ou le contraire.
ou une faute de frappe
Strsql=Mid(strsql,instr(1,strsql,"ORDER BY")-1) & " ORDER BY
[lechampquim'interesse] " & lesens & ";"
et non pas
Strsql=Mid(strsql,instr(1,strsql,"ORDER BY")-1) & " ODRER BY
[lechampquim'interesse] " & lesens & ";"

Sinon donne ici ton code ...

domivax
Le #6361851
merci pour la réponse.

Au fait, ta procèdure me fait disparaître toute ma chaine SQL (SELECT
etc...) , me garde le ORDER BY initial et me rajoute le nouveau ORDER
BY ensuite.

Merci pour ton aide.
Xavier
Fabien
Le #6361331
merci pour la réponse.

Au fait, ta procèdure me fait disparaître toute ma chaine SQL (SELECT
etc...) , me garde le ORDER BY initial et me rajoute le nouveau ORDER
BY ensuite.

Merci pour ton aide.
Xavier

Oups,

essaye avec
strsql = Left(strsql, InStr(1, strsql, "ORDER") - 1) & "ORDER By
[LaTable].[LeChamps] " & lesens & ";"

Il y a des fois où je me complique la vie pour rien ;-)
@+

Publicité
Poster une réponse
Anonyme