cs_bizerte
Messages postés5Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention30 mars 2010
-
23 mai 2009 à 12:21
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
27 mai 2009 à 11:13
Est-ce que vous avez une idée sur la requête qui permet de faire le tri des nombres de version (1 , 1.1 , 1.2, 1.3 ….1.10, 1.11 ,2, 2.1….) car avec Order By le tri sera comme suit (1, 1.1, 1.10, 1.11, 1.12, …1.2,1.3…) .
NB: La solution 1; 1.01; 1.02, je la connait etne résolue pas mon problème
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 23 mai 2009 à 18:54
Salut
Confronté à la même question il y a quelques années, j'ai utilisé cette technique :
Les versions étant du type X.YY.ZZ et YY ou ZZ ne dépassant jamais 999, je me suis fait une routine qui convertit la version "1.2.192" (cahine) en "1002192" (long)
Ensuite, la comparaison est facilitée.
A placer dans un modeule, par exemple :
Public Function ConvertiVersion(ByVal sVersion As String) As Long
' Transforme la chaine Version 1.2.192
' en 1002192
' plus facile pour comparaison
Dim aTemp() As String
' Ajoute des numéros de version à la suite, au cas où la chaine
' fournie en manquerait
sVersion = sVersion & ".0.0"
aTemp = Split(sVersion, ".")
ConvertiVersion = CLng(aTemp(0)) * 1000000 + _
CLng(aTemp(1)) * 1000 + _
CLng(aTemp(2)) * 1
End Function
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)