いつもお世話になっております。
表題の通り、二次元配列を複数条件でソートしたいのですが…
条件が単数の場合は以下のソースでうまく行くのですが、
複数条件でしかも条件に優劣がある場合
→条件Ⅰ>条件Ⅱ>条件Ⅲ
の記述が分かりません。
分かる方お願い致します。
ちなみにVB6 Win2000です。
以下ソース
If Not CBool(lSt) Then lSt = LBound(strToday)
If Not CBool(lE) Then lE = UBound(strToday)
If lSt >= lE Then Exit Function
lngIdx = lE
Do Until lngIdx <= lSt
lngCnt = lngSt
Do Until lngCnt >= lngIdx
If strToday(lngCnt).NO >= strToday(lngCnt + 1).NO Then
strNo = strToday(lngCnt).NO
udtWork.DATA() = strToday(lngCnt).DATA()
strToday(lngCnt).NO = strToday(lngCnt + 1).NO
strToday(lngCnt).DATA() = strToday(lngCnt + 1).DATA()
strToday(lngCnt + 1).NO = strNo
strToday(lngCnt + 1).DATA() = udtWork.DATA()
End If
lngCnt = lngCnt + 1
Loop
lngIdx = lngIdx - 1
Loop
これは、二次元配列じゃなくて、ユーザー定義型の配列で、その中の要素も配列に
なっているものなんじゃないかな?(^^;
まぁ、それは置いといて、複数条件でソートする場合は、まず条件3でソートして
その結果を条件2でソートし、さらにその結果を条件1でソートすれば良いです。
ありがとうございました
無事解決いたしました…
御礼が遅くなってしまい申し訳ございません
ツイート | ![]() |