nillMedlem sedan okt. 2001387 inlägg
Jag hittade en sorteringsalgoritm till min Array här på webforum. Den funkar ganska bra men har ett stort problem med det.
Den sorterar så här:
Staeger
Trituz
Vladrimir
XitR
abriz\_
alkaida
drillen
error
fet johan
alltså börjar om igen. Koden ser ut såhär:
Private Function Sort2D(ByVal ArrayToSort, ByVal iPos)
Dim intMaxIndex
Dim I, X
Dim varTemp
Dim intPositions, intPos
intMaxIndex = UBound(ArrayToSort,2)
intPositions = UBound(ArrayToSort,1)
For I = 0 To intMaxIndex
For X = (I + 1) To intMaxIndex
If ArrayToSort(iPos, I) > ArrayToSort(iPos,X) Then
For intPos = 0 To intPositions
varTemp = ArrayToSort(intPos, I)
ArrayToSort(intPos, I) = ArrayToSort(intPos, X)
ArrayToSort(intPos, X) = varTemp
Next
End If
Next
Next
Sort2D = ArrayToSort
End Function
PatrikBMedlem sedan mars 20002 713 inlägg
Argumentet iPos bestämmer vilken av positionerna i den 2-dimensionella arrayen som det ska sorteras på.
Sorterar du på rätt position???
visa lite mer kod, kod där du anropar denna funktion.
cya,
PatrikB
nillMedlem sedan okt. 2001387 inlägg
Här är själva Array'n:
Arr(0, q) = RecSet("ID")
Arr(1, q) = RecSet("nick")
Arr(2, q) = RecSet("titel")
Arr(3, q) = RecSet("gang")
och så sorteringsanropet
Arr = Sort2D(Arr, 1)
PatrikBMedlem sedan mars 20002 713 inlägg
återkommer ......
cya,
PatrikB
PatrikBMedlem sedan mars 20002 713 inlägg
har nu kikat på den igen ..... det är ett LCase som fattas i sorteringen:
Private Function Sort2D(ByVal ArrayToSort, ByVal iPos)
Dim intMaxIndex
Dim I, X
Dim varTemp
Dim intPositions, intPos
intMaxIndex = UBound(ArrayToSort,2)
intPositions = UBound(ArrayToSort,1)
For I = 0 To intMaxIndex
For X = (I + 1) To intMaxIndex
If [b]LCase[/b](ArrayToSort(iPos, I)) > [b]LCase[/b](ArrayToSort(iPos,X)) Then
For intPos = 0 To intPositions
varTemp = ArrayToSort(intPos, I)
ArrayToSort(intPos, I) = ArrayToSort(intPos, X)
ArrayToSort(intPos, X) = varTemp
Next
End If
Next
Next
Sort2D = ArrayToSort
End Function
nu bör det funka
cya,
PatrikB
PatrikBMedlem sedan mars 20002 713 inlägg
fast ... borde du inte sortera i din sql-fråga???? klart mycket effektivare
cya,
PatrikB
nillMedlem sedan okt. 2001387 inlägg
tack så mycket. fungerade bra nu.
SQL sortering är ju mycket bättre men ser inget sätt att använda det här.Vi ska nog inte gå in på det närmare om du inte är jätteintresserade. Har att göra med att jag lagrar många ID i en kolumn och sen då hämtar informationen till varje ID.