Lut, voici le problème :
je fais une recherche par requete :
| requete = "SELECT * FROM FACTURE WHERE " & r0 & " ORDER BY [Order] ASC" |
ma string r0 étant mon critère de recherche :
If Option01.Value = -1 Then ........r0 = "[Order] <" & Int(Text_Order.Text) ....ElseIf Option02.Value = -1 Then ........r0 = "[Order] =" & Int(Text_Order.Text) ....Else ........r0 = "[Order] >" & Int(Text_Order.Text) End If |
Bon, la requete est bonne (normalement).
Par la suite je veux afficher ces résultats dans une Table appelée , voici comment je procède :
If A_visualiser = True Then request = "select * FROM RECHERCHE" Set rs_recherche = db.OpenRecordset(request) If rs.RecordCount <> 0 Then rs.MoveFirst 'tant que n'est pas à la fin des résultats While Not rs.EOF 'ajoute une ligne rs_recherche.AddNew 'copie les champs vers la table RECHERCHE rs_recherche("Devis") = rs("Devis") rs_recherche("Order") = rs("order") rs_recherche("DateEcheance") = rs("DateEcheance") ... 'va au résultat suivant rs.MoveNext rs_recherche.Update Wend rs_recherche.Close rs.Close db.Close |
Ca, ca marche nikel.
Mais j'ai rajouté ce matin dans r0 "ORDER BY ... ASC" pour trier les résultats. Le problème est que quand il ouvre la table RECHERCHE, il ne les classe pas.
> je pense que ca vient vient du fait que la table RECHERCHE est enregistrée dans ma DB, et que quand on midifie le critère de classement qd on est en mode table, qd on quitte la table, ACCESS propose de sauvegarder les changements ! :-(
> donc quand je fais ma requete ORDER BY, il m'ouvre la table RECHERCHE avec le critère que j'ai choisi qd j'étais en mode table et pas le critère de ma requete. Donc la table est pas du tout trier comme je le voudrais :/
>
question : comment forcer le tri d'une table préxistante ?(ACCESS 2000, XP, programmation en VBA)